• 注册
  • 计算机科学 计算机科学 关注:458 内容:6

    我来解释一下我写的这个验证哥德巴赫猜想的代码。

  • 查看作者
  • 打赏作者
  • 当前位置: 博科园 > IT计算机科学 > 计算机科学 > 正文
    • 18
    • Lv.3弦理论长度
      笛卡尔❤️
    • 博科园AI人工智能助手 图灵
      [ AI在线 ]
      __
    •   首先我们得知道什么是哥德巴赫猜想猜想,哥德巴赫猜想猜想的一种表述是任意一个大于等于6的整可以写成3个质数之和(质数的概念我就不累述了),比如6可以写成2+2+2,在计算机中用“%”算符加循环很任意判断质数,“%”算符的意思就是求一个数除以另一个数的余数,比如7=5*1+2,那么7%5=2,用这个算符就很容易判断一个数是不是另一个数的因素。这样加上一个循环判断从2到x-1如果没有整数i使得n%i=0,那么这个数就是质数。为了减少运算只需判断2到x/2就行了,值得注意的是我将x定义为int类型(整型),x除以任何一个int类型数只会得到int类型的整数(如果是除以浮点类型系统会进行自动类型转换)。我的第一个函数Z函数就是用于判断x是不是质数(如果是返回1,不是返回0)。然后再看我的F函数,这个是将一个数写成3个质数之和。思路如下:首先如果输入的数小于6就打出error报错结束运行,如果不是就到下一步判断这个数是奇数还是偶数,如果是偶数就先让它减去2之后还是偶数,如果是奇数就先让它减去3让他变为偶数,之后再让完成减法运算后的数除以2分别令i,j等于这两个数再调用Z函数判断i,j是否同为质数,如果不是就让i=i-1,j=j+1之后继续判断。这样就可以将偶数写成2+i+j,奇数写成3+i+j的形式(注意这里的i,j已经经过迭代。其实我这种算法是将问题简化为一个偶数写成两个质数和),再来看主函数,主函数就是让你输入一个数然后逐个将6到这个数逐一写成3个质数和的形式。具体代码如下:

      #include<stdio.h>
      int Z(int x)
      {
          if(x==2||x==3)return 1;
          else if(x<=1)return 0;
          else
          {
              int y=0;
              for(int i=2;i<=x/2;i++)y+=!(x%i);
              if(y==0)return 1;
              else return 0;
          }
      }
      void F(int x)
      {
          int i,j;
          if(x<6){printf(error\n);return;}
          if(x%2==0)
          {
              i=(x2)/2;j=(x2)/2;
              do
              {
                  if(Z(i)&&Z(j)){printf(%d=2+%d+%d\n,x,i,j);return;}
                  else{i–;j++;}
              }while(i!=0);
          }
          else
          {
              i=(x3)/2;j=i;
              do
              {
                  if(Z(i)&&Z(j)){printf(%d=3+%d+%d\n,x,i,j);return;}
                  else{i–;j++;}
              }while(i!=0);
          }
      }
      int main()
      {
          int n;
          scanf(%d,&n);
          for(int i=6;i<n;i++)
          {F(i);}
          return 0;
      }

      在下学物理的不是计算机专业的,代码写的有点臭,请见谅

      (注意这只能验证有限个数对于哥德巴赫猜想成立,并不能证明哥德巴赫猜想!

      (如果转载请注明作者)

    • 生成海报
    • Lv.8仄米空洞
      靓号:1956
      9周年🎂
      真理的大海,让未发现的一切事物躺卧在我的眼前,任我去探寻——牛顿
      回复
      Lv.35火星
      博科园VIP6
      9周年🎂
      科学是非常爱妒忌的,科学只把最高的恩典赐给专心致志地献身于科学的人——费尔巴哈
      回复
      Lv.35火星
      博科园VIP6
      9周年🎂
      打赏了3金币
      回复
      Lv.35火星
      博科园VIP6
      9周年🎂
      赠送了礼物[棒棒糖]
      回复
      Lv.30恐龙
      门捷列夫
      厉害厉害👍🏻
      回复
      Lv.43刺魟星云
      博科园VIP7
      冯·诺依曼
      我始终相信:人类历史上最壮美的诗篇,既不在游吟诗人激扬吟唱中,也不在剧作家或小说家奇幻的故事里,人类的奇迹是由科学书写的,科学的故事,更加壮观离奇,令人魂牵梦绕!
      回复
      Lv.43刺魟星云
      博科园VIP7
      冯·诺依曼
      打赏了3金币
      回复
      Lv.43刺魟星云
      博科园VIP7
      冯·诺依曼
      赠送了礼物[棒棒糖]
      回复
      Lv.43刺魟星云
      博科园VIP7
      冯·诺依曼
      打赏了3金币
      回复
      Lv.43刺魟星云
      博科园VIP7
      冯·诺依曼
      打赏了3金币
      回复

      请登录之后再进行评论

      登录

      赞助商

    • 相互支持,合作共赢 Win-Win Cooperation

      邀请好友加入【博科园】有奖励啦♪

    • 任务
    • 偏好设置(换皮肤)
    • ★基于全球领先的AI4.0大语言模型 知识问答 内容创作 AI绘画 代码编程 生活办公 对话聊天 样样精通 超强大的AI助手★
      博科园AI
      有疑惑?万能AI为你解答
    • 到底部
    • 帖子间隔 侧栏位置:
      关闭窗口
      下载海报