用C语言 编程 验证哥德巴赫猜想 详细请入
这是我的一个作业各位帮帮我我的C语言知识比较贫乏现在才大一编程,验证10,700,000这个数字满足哥德巴赫猜想(可表示为两个素数之和),并显示该数对(用自定义函数求素数...
这是我的一个作业 各位帮帮我 我的C语言知识比较贫乏 现在才大一 编程,验证10,700,000 这个数字满足哥德巴赫猜想(可表示为两个素数之和),并显示该数对(用自定义函数求素数,只显示1对,多对算错)。 </TR>注意:严格按题意的要求做 以后在最后一个printf()中加入两个\n。
展开
2013-06-27
展开全部
#include "stdio.h"
#include "math.h"//是否是素数
int IsPrime(int n)
{
int i;
for (i=2;i<n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}void Output(int n)
{
int i;
for(i = 2; i<=n/2;++i)
{
if(IsPrime(i) && IsPrime(n-i))
{
printf("%d=%d+%d\n",n,i,n-i);
break;
}
}
}
void main()
{
Output(107000);
printf("\n");
} IsPrime(int n)和Output(int n) 都是自定义函数,是写的人根据函数内容自己编写的。他们最后都可以在主函数中调用,其中if(IsPrime(i) && IsPrime(n-i))和Output(107000) 都是他们的调用。if(IsPrime(i) && IsPrime(n-i))的意思是:如果这个数i以及(n-i)都为素数,那么执行下面操作。(当IsPrime(i)为1时是素数,为0时为合数)Output(107000) 的结果为:printf("%d=%d+%d\n",n,i,n-i);即:输出107000这个数符合哥德巴赫猜想,他是哪两个质数的和。
#include "math.h"//是否是素数
int IsPrime(int n)
{
int i;
for (i=2;i<n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}void Output(int n)
{
int i;
for(i = 2; i<=n/2;++i)
{
if(IsPrime(i) && IsPrime(n-i))
{
printf("%d=%d+%d\n",n,i,n-i);
break;
}
}
}
void main()
{
Output(107000);
printf("\n");
} IsPrime(int n)和Output(int n) 都是自定义函数,是写的人根据函数内容自己编写的。他们最后都可以在主函数中调用,其中if(IsPrime(i) && IsPrime(n-i))和Output(107000) 都是他们的调用。if(IsPrime(i) && IsPrime(n-i))的意思是:如果这个数i以及(n-i)都为素数,那么执行下面操作。(当IsPrime(i)为1时是素数,为0时为合数)Output(107000) 的结果为:printf("%d=%d+%d\n",n,i,n-i);即:输出107000这个数符合哥德巴赫猜想,他是哪两个质数的和。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询