#include<stdio.h>
#include<math.h>
int main()
{ int n;
printf("请输入不小于6的偶数或不小于9的奇数:\n");
int check(int n){ //判断奇素数
int i;
if(n%2==0)
return 0;
else
{ for(i=2;i<=(int)(sqrt(n));i++){ //判断素数
if(n%i==0)
return 0; //能够整除,程序正常退出
}
}
return 1; //程序退出,返回继续执行
}
void check1(int n) //奇数返回的限定
{ int i,j,k;
for(i=3;i<n-5;i++){
for(j=i;j<n-5;j++){
for(k=j;k<n-5;k++){ //<n-5 为保证能有三个素数
if((i+k+j==n)&&check(i)&&check(j)&&check(k))
{ printf("%d+%d+%d=%d\n",i,j,k,n);
}
}
}
}
}
void check2(int n) //偶数返回的限定
{ int i,j; for(i=3;i<n-2;i++)
{ for(j=i;j<n-2;j++){ //<n-2为保证能有两个素数
if((i+j==n)&&check(i)&&check(j))
{ printf("%d+%d=%d\n",i,j,n);
}
}
}
}
scanf("%d",&n); //输出函数
if(n%2)
check1(n);
else
check2(n);
return 0;
}
C语言|验证哥德巴赫猜想
最新推荐文章于 2023-02-01 21:14:41 发布