标题:哥德巴赫猜想
只看楼主
黑暗骑士5DSB
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2020-3-23
结帖率:50%
 问题点数:0 回复次数:2 
哥德巴赫猜想
哥德巴赫猜想是:任何一个大于2的偶数可以写为两个质数之和。下面这段程序验证这个猜想,对于输入的大于2的偶数,给出其等于两个质数之和的算式;对于非法输入,给出输入无效的提示。
#include <stdio.h>
int isPrime(int num){
    for(int i=2; i<=num/2; i++)
        if(  num%i==0) return 0;
        return 1;
}
int main( ){
    int a;
    for(int i=0; i<4; i++){   //共进行4次验证
        scanf("%d",&a);  //输入一个整数
        if(  isPrime(a)==1) printf("Invalid Input\n"); // 输入有效性验证
        else for(int i=2; i<=a/2; i++)
                if( 请补充     ){
                    printf("%d = %d + %d\n", a, i, a-i);
                    break;
                }
    }
    return 0;
}

上面请补充应该填什么
搜索更多相关主题的帖子: 输入 num 哥德巴赫猜想 for int 
2021-03-06 14:33
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
isPrime(i) && isPrime(a-i)
2021-03-06 15:38
k3552
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2022-4-17
得分:0 
回复 楼主 黑暗骑士5DSB
#include <stdio.h>

int main()
{
    int N,i,j;
    scanf("%d",&N);

    for(j=2;j<=N/2;j++)
    {
        for(i=2;i<j; i++)
        {
            if(j%i==0)
                break;
        }
        if(i==j)
        {
            for(i=2;i<N-j; i++)
            {
                if((N-j)%i==0)
                    break;
            }
            if(i==(N-j))
            {
                printf("%d = %d + %d\n",N,i,j);
            }
        }
    }

    return 0;
}
2022-04-17 15:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505028-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.154025 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved