码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-02-11 22:36:54      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:偶数   boa   href   c/c++   素数   pid   需要   sam   gre   

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

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 1165  Solved: 499
[Submit][Status][Web Board]

Description

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

Input

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

Output

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

Sample Input

80

Sample Output

80=7+73

HINT

 

 

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


/*  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<stdio.h>
#include<math.h>
int prime(int n)
{
    int k,i;
    k=sqrt(n);
    for(i=2;i<=k;i++)
        if(n%i==0)
            break;
    if(i==k+1)
        return 1;
    else
        return 0;
}
int gotbaha(int n)
{
    int prime(int n);
    int a,b;
    for(a=7;a<n;a++)
    {
        b=n-a;//设置b=n-a将b用a表示,这样对范围内的b不再逐一验证,不用再单独为b设置循环,循环次数下降//
        if(prime(a)&&prime(b))
        {
            printf("%d=%d+%d",n,a,b);
            break;
        }
    }
}
int main()


{


    int n;


    int gotbaha(int);


    int prime(int);


    scanf("%d",&n);


    gotbaha(n);


    return 0;


}

  

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

标签:偶数   boa   href   c/c++   素数   pid   需要   sam   gre   

原文地址:https://www.cnblogs.com/mjn1/p/8443205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!