题目:一个偶数总能表示为两个素数之和。
程序分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数串联成两个素数吧。
实例
#include<stdio.h>
#include<stdlib.h>
int Isprimer(unsigned int n);
int main()
{unsigned int n,i;do{printf("请输入一个偶数:\n");scanf("%d",&n);}while(n%2!=0);for(i=1;i<n;i++)if(Isprimer(i)&&Isprimer(n-i))break;printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);return 0;
}
int Isprimer(unsigned int n)
{int i;if(n<4)return 1;else if(n%2==0)return 0;elsefor(i=3;i<sqrt(n)+1;i++)if(n%i==0)return 0;return 1;
}
以上实例运行输出结果为:
请输入一个偶数:
4
偶数4可以分解成1和3两个素数的和
希望你也学会了,更多编程源码模板请来二当家的素材网:https://www.erdangjiade.com