hdu 1262 寻找素数对

简介: hdu 1262 寻找素数对

寻找素数对

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 17768    Accepted Submission(s): 8847


 

Problem Description

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

 

 

Input

输入中是一些偶整数M(5<M<=10000).

 

 

Output

对于每个偶数,输出两个彼此最接近的素数,其和等于该偶数.

 

 

Sample Input

 

20 30 40

 

 

Sample Output

 

7 13 13 17 17 23

 

 

Source

浙江工业大学第四届大学生程序设计竞赛

 

水题,具体题解如下:

//1262
#include<stdio.h>
int main()
{
    int f[10005]={0},i,j;
    //素数表
    for(i=2;i<10001;i++)
    {
        if(f[i]==0)
            for(j=2;j*i<10001;j++)
                f[j*i]=1;
    }
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=n/2;i>1;i--) //寻找接近的,从中间开始
            if(f[i]==0&&f[n-i]==0) //找到之后,输出并结束
            {
                printf("%d %d\n",i,n-i);
                break;
            }
    }
    return 0;
}
目录
打赏
0
0
0
0
10
分享
相关文章
|
3月前
素数
【10月更文挑战第23天】素数。
54 5
wustojc5004素数
wustojc5004素数
60 0
HDU-1262,寻找素数对(素数打表)
HDU-1262,寻找素数对(素数打表)
HDOJ(HDU) 2503 a/b + c/d(最大公约数问题)
HDOJ(HDU) 2503 a/b + c/d(最大公约数问题)
145 0
HDOJ(HDU) 2504 又见GCD(利用最大公约数反推)
HDOJ(HDU) 2504 又见GCD(利用最大公约数反推)
117 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等