题目:一个偶数总能表示为两个素数之和。
程序分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数分解成两个素数吧。
实例:
1 #include<stdio.h> 2 #include<stdlib.h> 3 int Isprimer(unsigned int n); 4 int main() 5 { 6 unsigned int n,i; 7 do{ 8 printf("请输入一个偶数: "); 9 scanf("%d",&n); 10 }while(n%2!=0); 11 for(i=1;i<n;i++) 12 if(Isprimer(i)&&Isprimer(n-i)) 13 break; 14 printf("偶数%d可以分解成%d和%d两个素数的和 ",n,i,n-i); 15 16 return 0; 17 } 18 int Isprimer(unsigned int n) 19 { 20 int i; 21 if(n<4)return 1; 22 else if(n%2==0)return 0; 23 else 24 for(i=3;i<sqrt(n)+1;i++) 25 if(n%i==0)return 0; 26 27 return 1; 28 }
以上实例运行输出结果为:
请输入一个偶数: 4 偶数4可以分解成1和3两个素数的和
感谢你的阅读,请用心感悟!希望可以帮到爱学习的你!!分享也是一种快乐!!!请接力。。。