hdoj-1262-寻找素数对

来源:互联网 发布:巫蛊之祸 知乎 编辑:程序博客网 时间:2024/04/29 16:39

Description
哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数.
做好了这件实事,就能说明这个猜想是成立的.
由于可以有不同的素数对来表示同一个偶数,所以专门要求所寻找的素数对是两个值最相近的.

Input
输入中是一些偶整数M(5

#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>using namespace std;bool judge(int x){    for(int i=2;i<=sqrt(x);i++)    {        if(x%i==0) return false;    }    return true;}int main(){    int n;    while(scanf("%d",&n)!=EOF)    {        int cnt;        int del=100000000;        for(int i=0;i<=n/2;i++)        {            if(judge(i)&&judge(n-i))            {                if(del>n-2*i)                {                    del=n-2*i;                    cnt=i;                }            }        }        printf("%d %d\n",cnt,n-cnt);    }}
0 0
原创粉丝点击