本文主要是介绍C 练习实例84-一个偶数总能表示为两个素数之和,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:一个偶数总能表示为两个素数之和。
程序分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数分解成两个素数吧。
代码:
#include <stdio.h>
#include <math.h>
int IsPrime (int m)
{for(int i=2;i<=(int)sqrt((double)m);i++) {if(m%i==0){return 0;}}return 1;
}
int main()
{int n; //存储输入的数字printf("请输入一个大于2的偶数:\n");scanf("%d",&n);while(n%2!=0 || n<=2){printf("你输入的不符合要求,请重新输入:\n");scanf("%d",&n);}printf("%d这个数符合要求\n",n);int i=0;for( i = 2;i < n;i++ ) {if ( IsPrime(i) && IsPrime(n-i) )break;}printf("%d可以表示为两个素数之和,他们是%d和%d\n",n,i,n-i);return 0;
}
输入输出
请输入一个大于2的偶数:
100
100这个数符合要求
100可以表示为两个素数之和,他们是3和97
这篇关于C 练习实例84-一个偶数总能表示为两个素数之和的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!