搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 萌新求助,哥德巴赫猜想的证明题,思路上面的困惑。
标题:
萌新求助,哥德巴赫猜想的证明题,思路上面的困惑。
取消只看楼主
凌若寒曦
等 级:
新手上路
帖 子:70
专家分:0
注 册:2017-10-5
结帖率:
80%
楼主
已结贴
√
问题点数:12 回复次数:4
萌新求助,哥德巴赫猜想的证明题,思路上面的困惑。
哥德巴赫猜想是认为大于2的偶数必为两个质数相加得到的和,我现在是要给定一个范围,找到这范围里面的偶数它所被分解的质数(只要找到一组即可),按照我编的程序,第一个质数是能被找到的,但是第二个质数总是无法找到,程序无法识别出第二个质数,这个问题想了半天想得我头晕脑胀,一直无果,所以现在贴出来希望各位大神能帮帮忙,给我这个小白一点思路上的帮助,下楼贴代码。
搜索更多相关主题的帖子:
哥德巴赫猜想
思路
困惑
质数
范围
2017-11-12 23:26
凌若寒曦
等 级:
新手上路
帖 子:70
专家分:0
注 册:2017-10-5
第
2
楼
得分:0
#include<stdio.h>
int prime(int n);
int main()
{
int j,n,s,i,c,b,a;
scanf("%d",&j);
s=0;
a=0;
for(i=j;i<=j+10;i+=2)
{
printf("%d=",i);
for(n=1;n<=i;n++)
{
c=prime(n);
if(c==1)
{
b=i-n;
a=prime(b);/*就是这个位置,prime遇到合数也还是返回1这个值,导致后面打印出合数*/
if(a==1)
{
printf("%d+",n);
printf("%d\n",b);
break;
}
}
}
}
return 0;
}
int prime(int n)
{
int i,result;
if(n<=2)
result=0;
else
{
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i>=n)
result=1;
}
return result;
}
2017-11-12 23:27
凌若寒曦
等 级:
新手上路
帖 子:70
专家分:0
注 册:2017-10-5
第
3
楼
得分:0
运行结果是
100
100=3+97
102=3+99
104=3+101
106=3+103
108=3+105
110=3+107
2017-11-12 23:29
凌若寒曦
等 级:
新手上路
帖 子:70
专家分:0
注 册:2017-10-5
第
4
楼
得分:0
本来期待的就结果是
100
100=3+97
102=5+97
104=3+101
106=3+103
108=5+103
110=3+107
2017-11-12 23:32
凌若寒曦
等 级:
新手上路
帖 子:70
专家分:0
注 册:2017-10-5
第
5
楼
得分:0
回复 5楼 zbjzbj
谢谢你的代码,请问我在编素数函数时的思路哪里出现问题了?
2017-11-13 00:15
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-482405-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.028004 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved