5
社区成员
发帖
与我相关
我的任务
分享




#include<stdio.h>
#include<math.h>
int isPrime(int n)
{
if(n<2) return 0;//不是素数
if(n==2) return 1;//是素数
if(n>2){
for(int i=2;i<=(int)sqrt((double)n);i++)
{
if(!(n%i)) return 0;//被整除了就不是素数了
}
return 1;
}
}
int main()
{
for(int i=4;i<=2000;i+=2)//找到2000以内所有大于2的偶数
{
for(int n=2;n<i;n++)
{
if(isPrime(n))
{
if(isPrime(i-n))
{
printf("%d+%d=%d\n",n,i-n,i);
break;//拆分成的两个数都是素数
}
}
if(n==i) printf("error\n");
}
}
return 0;
}
输出结果:
