| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1767 人关注过本帖
标题:萌新求助,哥德巴赫猜想的证明题,思路上面的困惑。
取消只看楼主 加入收藏
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
结帖率:80%
收藏
已结贴  问题点数:12 回复次数:4 
萌新求助,哥德巴赫猜想的证明题,思路上面的困惑。
哥德巴赫猜想是认为大于2的偶数必为两个质数相加得到的和,我现在是要给定一个范围,找到这范围里面的偶数它所被分解的质数(只要找到一组即可),按照我编的程序,第一个质数是能被找到的,但是第二个质数总是无法找到,程序无法识别出第二个质数,这个问题想了半天想得我头晕脑胀,一直无果,所以现在贴出来希望各位大神能帮帮忙,给我这个小白一点思路上的帮助,下楼贴代码。
搜索更多相关主题的帖子: 哥德巴赫猜想 思路 困惑 质数 范围 
2017-11-12 23:26
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
收藏
得分: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
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
收藏
得分: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
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
收藏
得分: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
凌若寒曦
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2017-10-5
收藏
得分:0 
回复 5楼 zbjzbj
谢谢你的代码,请问我在编素数函数时的思路哪里出现问题了?
2017-11-13 00:15
快速回复:萌新求助,哥德巴赫猜想的证明题,思路上面的困惑。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015328 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved