收藏文章 楼主

哥德巴赫猜想?PythonC?你能用什么语言去证明

版块:IT/互联网   类型:普通   作者:小羊羔links   查看:250   回复:0   获赞:0   时间:2022-08-13 14:08:38

哥德巴赫猜想是世界三大数学猜想之一。世界三大数学猜想分别是费马猜想、四色猜想和哥德巴赫猜想。费马猜想和四色猜想的证明已经完成,只有哥德巴赫猜想尚未被完全证明。哥德巴赫猜想的描述如下 任何一个大于2的偶数都可以表示成两个质数的和。例如,4=2+210=3+7。尝试编写程序进行验证。

Python实现

01 def isPrime(n):

02     if n <= 1:          # 如果n的值小于等于1

03         return False    # 返回False表示不是质数

04     if n == 2:          # 如果n的值等于2

05         return True     # 返回True表示是质数

06     for i in range(2,n):

07         if n % i == 0:  # 如果n能被i整除

08             return False    # 返回False表示不是质数

09     return True     # 返回True表示是质数

10 while True:

11     try:

12         num = int(input("请输入一个大于2的偶数 ")) # 输入大于2的偶数

13         if num > 2 and num % 2 == 0:                # 如果num是大于2的偶数

14             break                                   # 跳出循环

15         else:

16             print("您输入的不是大于2的偶数!")      # 输出提示信息

17     except:

18         print("输入错误,请重新输入!")             # 提示输入错误

19 for i in range(4,num + 1,2):    # 遍历4 num之间的偶数

20     for j in range(2,i):        # 遍历2 i之间的整数

21         if isPrime(j) and isPrime(i j):   # 判断ji-j是否是质数

22             print("{}={}+{}".format(i,j,i-j))   # 输出表示的两个质数的和

23             break       # 跳出循环


C语言实现

#include <stdio.h>


int ss(int i)

{

    int j;

    if (i <= 1) /如果小于等于1返回0

        return 0;

    if (i == 2) /如果等于2返回1

        return 1;

    for (j = 2; j < i; j++)

    {

        if (i % j == 0) /循环判断是否为素数

            return 0;

        else if (i != j + 1)

            continue;

        else

            return 1;

    }

}


int main()

{

    int i, j, k, flag1, flag2, n = 0;

    for (i = 6; i < 100; i += 2)

    {

        for (k = 2; k <= i 2; k++)

        {

            j = i k;

            flag1 = ss(k); /调用ss函数判断当前数是否为素数

            if (flag1)

            {

                flag2 = ss(j); /调用ss函数判断另一个数是否为素数

                if (flag2)     /如果都是素数

                {

                    printf("%3d=%3d+%3d,", i, k, j); /输出结果

                    n++;

                    if (n % 5 == 0) /5个数自动换一行

                        printf("\n");

                }

            }

        }

    }

    return 0;

}

你还能用其他语言证明吗?留言区给出答案!


小羊羔锚文本外链网站长https://seo-links.cn 
回复列表
默认   热门   正序   倒序

回复:哥德巴赫猜想?PythonC?你能用什么语言去证明

Powered by 小羊羔外链网 8.3.12

©2015 - 2024 小羊羔外链网

免费发软文外链 鄂ICP备16014738号-6

您的IP:49.89.32.44,2024-04-25 16:09:30,Processed in 0.05042 second(s).

支持原创软件,抵制盗版,共创美好明天!
头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息