鼓足干劲力争上游 2021-11-25 12:57 采纳率: 0%
浏览 309

哥德巴赫猜想C语言实现

结果输出有问题,例如12=5+7,但代码只能实现3+9;希望指正问题。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int ss(int n);//判断素数
int ss(int n)
{
    int i;
    if(i%2!=0)
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i!=0)
        return 0;
    }
    return 1;
}
int main()
{
    int n,i;
    printf("Input a number:\n");
    scanf("%d",&n);
    if(n%2!=0)
        printf("Input error!\n");
    else if(n==4)
        printf("4=2+2");
    else{
        for(i=3;i<n-i;i=i++)
        {
            if(ss(i)&&ss(n-i))
            {
                printf("%d=%d+%d\n",n,i,n-i);
                break;
            }
        }
        }
    return 0;
}


  • 写回答

2条回答 默认 最新

  • 苹果小飞翔 2021-11-25 13:03
    关注
    
    #include<stdio.h>
    int main()
    {
    int n, p, q; int i, j; int t = 0; int a[669];
        printf("验证哥德巴赫猜想\n");
        printf("    请输入一个(2, 5000]范围内的偶数n: ");
        scanf("%d", &n);
        for (j = 2; j <= 5000; j++)
        {
            for (i = 2; i <= j; i++)
            {
                if (j % i == 0 && j == i)
                {
                    a[t] = j;
                    t++;
                }
                else if (j % i == 0 && i < j)
                {
                    break;
                }
            }
        }
        for (p = 0; p < 669; p++)
        {
            for (q = 0; q < 669; q++)
            {
                if (n == a[p] + a[q]) { printf("    结果: %d = %d + %d", n, a[p], a[q]); goto ok; }
            }
        }
        ok:return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月25日

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。