• 注册
当前位置:1313e > 默认分类 >正文

哥德巴赫的验证


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

Input

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

Output

找出两个素数,使它们的和为n。只需要输出其中第一个素数最小的一组数据即可。

Example Input

80

Example Output

80=7+73



#include  

#include
using namespace std;  
int gdbh(int n)  
{  
    int prime(int );  
    int a,b;  
    for (a=3;a<=n/2;a=a+2)  //a从3开始就行了,因为不可能有2;步长设为2,因为a不可能是偶数
    {  
        if(prime(a))  
        {  
            b=n-a;  
            if (prime(b))  
            {  
                cout<                 break;  
            }  
        }  
    }  
}  
int prime(int m)  
{  
    int i,k=sqrt(m);  
    for (i=2;i<=k;i++)  
        if (m%i==0)  
        break;  
    if (i>k) return 1;  
    else return 0;  
}  
  
int main()  
{  
    int n;  
    int gdbh((int);  
    int prime(int);  
    cin>>n;  
    gdbh(n);  
    return 0;  
  
}  

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录