lza6p
lza6p
采纳率81.8%
2020-03-10 20:48

哥德巴赫猜想(c++)谢谢,是学生,急急急!大神帮忙

1742年,德国数学家哥德巴赫在给欧拉的信中提出了著名的哥德巴赫猜想:“任意一个大于4的偶数都可以表示成两个素数之和”举几个简单的例子:

8 = 3 + 5

20 = 3 + 17 = 7 + 13

42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23

这个猜想至今都没有被证明,如今你的任务是用计算机证明在1000000之内哥德巴赫猜想的正确性。

输入样例

8

输出样例

8=3+5

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • weixin_43891765 格戮 1年前

    试一下这个

    #include<iostream>
    #include<math.h>
    using namespace std;
    bool prime(int n){
        for(int i=2;i<int(sqrt(n))+1;i++)
            if(n%i==0)
                return false;
        return true;
    }
    int main(){
        int n;
        cin>>n;
        int i=2;
        while(!prime(i)||!prime(n-i))
            i++;
        cout<<n<<"="<<i<<"+"<<n-i;
        //printf("%d=%d+%d",n,i,n-i);
        return 0;
    }
    
    点赞 1 评论 复制链接分享