验证哥德巴赫的猜想

问题 B: C/C++经典程序训练6---歌德巴赫猜想的证明

时间限制: 1 Sec  内存限制: 64 MB
提交: 1280  解决: 524
[提交][状态][讨论版]

题目描述

写一个函数gotbaha, 验证“每个不小于6的偶数都是两个奇素数之和”,输入一个不小于6的偶数n,找出两个素数,使它们的和为n。

输入

输入一个不小于6的偶数n

输出

找出两个为素数,使它们的和为n。

样例输入

80

样例输出

80=7+73

提示


 主函数已给定如下,提交时不需要包含下述主函数


/*  C代码  */


int main()


{


    int n;


    int gotbaha(int);


    int prime(int);


    scanf("%d",&n);


    gotbaha(n);


    return 0;


}



/*  C++代码  */


int main()


{


    int n;


    int gotbaha(int);


    int prime(int);


    cin>>n;


    gotbaha(n);


    return 0;


}

#include <iostream>
using namespace std;
int gotbaha(int);
int prime(int);
int main()
{
    int n;
    int gotbaha(int);
    int prime(int);
    cin>>n;
    gotbaha(n);
    return 0;
}
int gotbaha(int n)
{
    int i,a,b;
    for(i=0;i<n;i++)
    {
        a=i;
        b=n-i;
        if(prime(a)&&prime(b))
        {
            cout<<n<<"="<<a<<"+"<<b<<endl;
            break;
        }
    }
    return 0;
}
int prime(int x)
{
    if(x==1) return 0;
    if(x!=2&&x%2==0) return 0;
    for(int i=2;i<x;i++)
    {
        if(x%i==0)
        return 0;
    }
    return 1;
}



阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭