感谢之前帮过我的童鞋们,我又有问题了。。。
验证歌德巴赫猜想。歌德巴赫猜想的大致内容为:任何大于6的偶数,都可以写成两个素数的和。大于六的部分 用if条件句
但后半部分 分为两个素数。。
这个该如何输出。我不知怎么办。。
能不能给点小思路?
谢谢谢谢。。
#include<stdio.h> #include<math.h> int main() { int n,i,j,flag,s; int IsPrime(int n); for(n=8;n<=10000;n+=2) { flag=0; s=n/2; for(i=3;i<s;i++) { j=n-i; if(IsPrime(i)&&IsPrime(j)) { flag=1;/////// } } if(!flag) { printf("%d=%d+%d\n",n,i,j); break; } } if(flag) { printf("歌德巴赫猜想在8-10000成立。\n"); } else { printf("歌德巴赫猜想不成立。\n"); } return 0; } int IsPrime(int n) { int i,s; s=(int)sqrt(n); if(2==n) { return 1; } for(i=2;i<s;i++) { if(n%i==0) { return 0; } } return 1; }代码参考: