【ゴッドバッハ予想】
975 ワード
/*
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 7757 Accepted Submission(s): 3874
Problem Description
. , , , , .
, .
, .
Input
M(5<M<=10000).
Output
, , .
Sample Input
20 30 40
Sample Output
7 13
13 17
17 23
Source
*/
#include<stdio.h>
int f(int x)
{
int i;
if( x < 2) return 0;
for( i = 2; i < x; i++)
if(x % i == 0) return 0;
return 1;
}
int main()
{
int n, i;
while(scanf("%d", &n) != EOF)
{
for(i = n/2; i >= 2; i-- )
if( f(i) && f(n-i))
{
printf("%d %d
", i, n-i);
break;
}
}
return 0;
}
4より大きい任意の偶数を与え、隣接する最も近い2つの素数の和がその偶数に等しい奇数を求める.
考え方:この偶数の半分からこの2つの素数を探すのは、必ず大きくて小さくて、スピードが一番速いです.