C语言的程序:哥德*猜想验证(从6-30000000),给每句后面加上一个注释,每句分别是什么意思?谢谢!
发布网友
发布时间:2022-06-01 16:26
我来回答
共1个回答
热心网友
时间:2023-10-08 18:33
# include<stdio.h>
# include<math.h>
int isPrime(int t);
void prnt(int i); //这里声明两个函数,第一个是判断一个数是不是素数,第二个是判断是否符
int main() 合哥德*猜想,符合则打印这个数
{
int sum,n;
n=0;
for(sum=6;sum<=300000000;sum=sum+2) //循环从6到300000000之间的偶数判断是否符合哥 德*
{
prnt(sum);
n++;
if(n%5==0)
printf("\n"); //每行输出5个数后换行
}
printf("\n");
return 0;
}
void prnt(int i)
{
int m;
for (m=3;m<=10000;m++) //循环从3开始寻找素数,因为哥德*猜想是一个偶数等于两个素数的和,所以用要使用的这个偶数减去第一个素数,如果差是素数,则这个偶数符合哥德*猜想。所以找到素数m后,再判断(i-m)是否为素数,然后打印出来
{
if(isPrime(m))
if(isPrime(i-m))
{
printf("%d=%d+%d ",i,m,(i-m));
break;
}}
}
int isPrime(int t) //判断一个数是不是素数,这个函数应该不用多说 吧,不是素数返回0, 是素数返回1
{
int j;
for(j=2;j<=sqrt(t);j++)
if(t%j==0)
return 0;
return 1;
}
希望能帮到你!