c语言编写程序验证哥德巴赫猜想,怎么用C语言编程验证哥德巴赫猜想?

怎么用C语言编程验证哥德巴赫猜想?0

02ae427d08e371d7e90d5b995e828d6d.pngquakekk2014.06.27浏览3次分享举报

以下是我已经编好了的程序,只是想修改:#include"stdio.h"intisprime(intx)//构建函数isprime()来判断整数x是否是素数,若结果是0,表示x不是素数,结果是1,表示x是素数。//{inty=x... 以下是我已经编好了的程序,只是想修改:

#include"stdio.h"

int isprime(int x) //构建函数isprime()来判断整数x是否是素数,若结果是0,表示x不是素数,结果是1,表示x是素数。//

{

int y=x/2,j,s;

for(j=2;j<=y;j++) //让2到x/2的每一个数去除x。//

{

if(x%j==0){s=0;break;} //如果j整除了x,说明x不是素数,作出判定,提前结束循环。//

else{s=1;continue;} //如果j没有整除x,暂时判定x是素数,进入下一次循环进一步判定。//

}

return s;

}

void main()

{

printf("本程序将验证哥德巴赫猜想。猜想内容是:所有大于6的偶数都可以表示为2个奇素数之和。\n");

printf("请分别输入下限和上限,注意上下限都必须是大于6的偶数,上限大于下限:");

int a,b;

scanf("%d%d",&a,&b);

if(a>=b){printf("下限大于上限,输入错误,请重新输入:");scanf("%d%d",&a,&b);} //验证输入是否符合条件。//

else if(a%2==1||b%2==1){printf("下限或上限为奇数,输入错误,请重新输入:");scanf("%d%d",&a,&b);}

else if(a<6){printf("下限或上限小于6,输入错误,请重新输入:");scanf("%d%d",&a,&b);}

else {

int k,m;

for(k=a;k<=b;k=k+2) //对a到b的每一个偶数进行验证。//

{for(m=3;m<=k-3;m++)

{if(isprime(m)==0)continue;

else if(isprime(k-m)==0)continue;

else {printf("%d符合哥德巴赫猜想,且%d=%d+%d。\n",k,k,m,k-m);break;}

}

}

}

}

现在的问题是,如果遇到有一个数不符合哥德巴赫猜想,这个程序是不会显示说不符合,而只是跳过忽略了。虽然这个事情不大可能发生,但是我觉得这是程序本身的一点不完善。怎么修改?

如果各位觉得程序看了头疼,那就请帮忙解决一下这个问题,就是我对某一个范围内的所有数用for循环语句进行验证某个特性,如果一个数符合这个特性就输出说符合,如果不符合就输出说不符合,如果这个范围内所有数都不符合,就只输出说该范围内所有数都不符合,而不一一说明这个不符合,那个不符合。怎么做? 展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值