注册 登录
编程论坛 C++教室

【求助】c++哥德巴赫猜想

asdfaad 发布于 2019-02-10 20:44, 2658 次点击
题目描述
史上和质数有关的数学猜想中,最著名的当然就是“哥德巴赫猜想”了。
1742年6月7日,德国数学家哥德巴赫在写给著名数学家欧拉的一封信中,提出了两个大胆的猜想:
任何不小于4的偶数,都是两个质数之和(如:4=2+2);
6=3+3
8=3+5
……
请验证,并输出200(包括200)内的式子,每行输出8个
6=3+3 8=3+5 10=3+7 12=5+7 14=3+11 16=3+13 18=5+13
……

输入


输出
每行8个式子,对于每个式子:

c=a+b ,需要保证a<=b,并且当有多解时,选择a尽量小的;

例如:20=3+17,20=7+13,选择前者输出
6 回复
#2
幽竹烟雨2019-02-11 09:23
程序代码:
#include<bits/stdc++.h>
using namespace std;
bool lele(int n)
{
    int i;
    if(n<=1) return false;
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i==0) return false;
    }
    return true;
}
int main()
{
    int i,n;
    ios::sync_with_stdio(false);
    for(i=6;i<=200;i+=2)
    {
        for(n=2;n<=i;n++)
        {
            if(lele(n)&&lele(i-n))
            {
                cout<<i<<"="<<min(n,i-n)<<"+"<<max(n,i-n)<<endl;
                break;
            }
        }
    }
    return 0;
}
#3
幽竹烟雨2019-02-11 09:24
好好理解一下
#4
asdfaad2019-02-11 20:28
OJ上面显示编译错误,是不是有什么问题?
#5
幽竹烟雨2019-02-14 22:06
您用的那个OJ是不是不能用万能头文件?能把原题的网址发一下吗?
#6
幽竹烟雨2019-02-14 22:07
或者可能你没把代码贴全
#7
asdfaad2019-02-15 18:08
http://fzoj.
1