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;
}
目录
相关文章
|
7月前
PTA-求指定范围内的素数
求指定范围内的素数
102 0
|
7月前
PTA-求100以内的素数
求100以内的素数
66 0
hdu1406 完数 (水题)
hdu1406 完数 (水题)
52 0
HDU-1262,寻找素数对(素数打表)
HDU-1262,寻找素数对(素数打表)
HDOJ(HDU) 2504 又见GCD(利用最大公约数反推)
HDOJ(HDU) 2504 又见GCD(利用最大公约数反推)
108 0
|
C++ 人工智能 BI
HDU2032杨辉三角
有点强迫症,主函数必须简洁,但是这里的if判断语句很碍眼,自己也并没有想到什么不画蛇添足的方法使代码更加简洁......
1510 0
|
Java 人工智能
HDU 2561 第二小整数
第二小整数 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10766    Accepted Submission(s): 6548 Problem Description 求n个整数中倒数第二小的数。
950 0
|
Java
HDU 2092 整数解
整数解 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 33425    Accepted Submission(s): 11730 Problem Description 有二个整数,它们加起来等于某个整数,乘起来又等于另一个整数,它们到底是真还是假,也就是这种整数到底存不存在,实在有点吃不准,你能快速回答吗?看来只能通过编程。
897 0
|
机器学习/深度学习
HDOJ(HDU) 2503 a/b + c/d(最大公约数问题)
Problem Description 给你2个分数,求他们的和,并要求和为最简形式。 Input 输入首先包含一个正整数T(T0){ int a = sc.
1060 0