用C语言 编程 验证哥德巴赫猜想 详细请入

这是我的一个作业各位帮帮我我的C语言知识比较贫乏现在才大一编程,验证10,700,000这个数字满足哥德巴赫猜想(可表示为两个素数之和),并显示该数对(用自定义函数求素数... 这是我的一个作业 各位帮帮我 我的C语言知识比较贫乏 现在才大一 编程,验证10,700,000 这个数字满足哥德巴赫猜想(可表示为两个素数之和),并显示该数对(用自定义函数求素数,只显示1对,多对算错)。 </TR>注意:严格按题意的要求做 以后在最后一个printf()中加入两个\n。 展开
 我来答
听不清啊
高粉答主

推荐于2017-07-15 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>

int prime(int n)

{for(int i=2;i*i<=n;i++)

if(n%i==0)return 0;

return n>1;  

}

int main()

{int x,i;

scanf("%d",&x);

for(i=2;i<=x/2;i++)

if(prime(i)&&prime(x-i))

{printf("%d+%d=%d\n\n",i,x-i,x);

return 0;

}

}

匿名用户
2018-11-27
展开全部

我用QBASIC语言编的哥德巴赫猜想验证程序。

想交流的,可以发电子邮件到dosxpwin@163.com,和我交流。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ouyang1917
2018-03-04 · TA获得超过237个赞
知道小有建树答主
回答量:529
采纳率:66%
帮助的人:166万
展开全部
先给你个思路 你试着写一下 你先定义一个int数组 来存放素数 在判断从1-10,1-700 之间的素数 并把它们放在数组里 你再定义一个变量来记录满足猜想的素数对数 如果是1对 就输出 如果不是就输出错误 判断是否满足猜想 可以用俩个for循环 从第一个 一次俩个俩个相加 如果满足猜想 记录下这俩个数 就这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
magmagic
2010-03-05 · TA获得超过435个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:379万
展开全部
6=3+3; 8=3+5; 10=3+7; 12=5+7; 14=3+11;
16=3+13; 18=5+13; 20=3+17; 22=3+19; 24=5+19;
26=3+23; 28=5+23; 30=7+23; 32=3+29; 34=3+31;
36=5+31; 38=7+31; 40=3+37; 42=5+37; 44=3+41;
46=3+43; 48=5+43; 50=3+47; 52=5+47; 54=7+47;
56=3+53; 58=5+53; 60=7+53; 62=3+59; 64=3+61;
66=5+61; 68=7+61; 70=3+67; 72=5+67; 74=3+71;
76=3+73; 78=5+73; 80=7+73; 82=3+79; 84=5+79;
86=3+83; 88=5+83; 90=7+83; 92=3+89; 94=5+89;
96=7+89; 98=19+79; 100=3+97;

附代码:

#include<stdio.h>

int PrimeNumbers[50];

int isPrimeNumber(int n)
{
int i,flag=1;
for(i=2;i<n;i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}

void GetPrimeNumbers()
{
int i,index=0;
PrimeNumbers[index++]=2;
for(i=3;i<100;i++)
{
if(isPrimeNumber(i)) PrimeNumbers[index++]=i;
}
PrimeNumbers[index]=0;
}

void GetFormulas()
{
int i,j,count=0;
for(i=6;i<=100;i+=2)
{
for(j=0;PrimeNumbers[j]!=0;j++)
{
if(isPrimeNumber(i-PrimeNumbers[j]))
{
printf("%d=%d+%d; ",i,PrimeNumbers[j],i-PrimeNumbers[j]);
if(++count==5)
{
printf("\n");
count=0;
}
break;
}
}
}
}

int main()
{
GetPrimeNumbers();
GetFormulas();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-27
展开全部
#include "stdio.h"
#include "math.h"//是否是素数
bool isPrime(int num)
{
for (int i=2;i<=(int)sqrt(num*1.0);++i)
{
if(num%i==0)
return false;
}
return true;
}void Output(int num)
{
for(int i = 2; i<=num/2;++i)
{
if(isPrime(i) && isPrime(num-i))
{
printf("%d=%d+%d\n",num,i,num-i);
break;
}
}
}
void main()
{
Output(10);
Output(700);
int n=0;
scanf("%d",&n);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式