启动! 2021-10-15 07:36 采纳率: 80%
浏览 1868
已结题

C语言验证哥德巴赫猜想

用C语言 验证哥德巴赫猜想
【问题描述】哥德巴赫猜想:一个不小于6的偶数可以表示为两个素数之和。要求验证a~b之间的全部偶数,6 <= a < b <= 2000。

【输入形式】a b两个数字
【输出形式】按行输出,每行如6 = 3 + 3,前一个素数尽可能小。

【样例输入】

6 10

【样例输出】

6 = 3 + 3

8 = 3 + 5

10 = 3 + 7

【样例说明】注意输出中的空格。

  • 写回答

2条回答 默认 最新

  • 路漫漫其修远. 博客专家认证 2021-10-15 08:52
    关注
    int IsPrime (int x)
    {
        int b = 0, c = 0;
        b = sqrt (x);
        for (c = 2; c <= b; c++) {
            if (x % c == 0){
                return 0;
            }
        }
        return 1;
    }
    
    int GetOutput(int x)
    {
        int i = 0;
        for (i=3; i<=x/2; i++){
            if (IsPrime(i) && IsPrime(x-i)){
                printf ("%d = %d + %d\n", x, i, x-i);
                break;
            }
        }
    }
    
    int main()
    {
        int a = 0, b = 0, x = 0;
        printf ("Please input a b:\n");
        scanf("%d %d", &a, &b);
    
        if (a<6 || a>2000 || a>=b || b<6 || b>2000){        printf ("Input out of range\n");
            return -1;
        }
    
        for (x=a; x<=b; x++){
            if (x%2){
                continue;
            }
            GetOutput(x);
        }
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 请采纳用户回复 10月18日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。