problem description
哥德**猜想大家都知道一點吧.我們現在不是想證明這個結論,而是想在程式語言內部能夠表示的數集中,任意取出乙個偶數,來尋找兩個素數,使得其和等於該偶數.
做好了這件實事,就能說明這個猜想是成立的.
由於可以有不同的素數對來表示同乙個偶數,所以專門要求所尋找的素數對是兩個值最相近的.
input
輸入中是一些偶整數m(5output
對於每個偶數,輸出兩個彼此最接近的素數,其和等於該偶數.
sample input
20 30 40
sample output
7 13
13 17
17 23
分析:首先要找出所有的素數,之後再判斷vis[i]與vis[a-i]是否都為素數,這樣做的原因是在埃式篩法中,vis陣列在篩法後會生成乙個陣列,其下標為自然數,vis代表了是否為素數,因此只要vis陣列的下標加起來為偶整數,且兩個vis的值均為0(為素數)就可以判斷,與此同時從a/2開始遍歷可以加快速度。
#include
using
namespace std;
const
int maxn=
10010
;int vis[maxn]
,prime[maxn]
;int sum;
void
e_sieve()
for(i=
2;i*i<=maxn;i++)}
}}intmain()
}}return0;
}
HDU1262 尋找素數對
description 哥德 猜想大家都知道一點吧.我們現在不是想證明這個結論,而是想在程式語言內部能夠表示的數集中,任意取出乙個偶數,來尋找兩個素數,使得其和等於該偶數.做好了這件實事,就能說明這個猜想是成立的.由於可以有不同的素數對來表示同乙個偶數,所以專門要求所尋找的素數對是兩個值最相近的.i...
HDU 1262 尋找素數對
哥德 猜想大家都知道一點吧.我們現在不是想證明這個結論,而是想在程式語言內部能夠表示的數集中,任意取出乙個偶數,來尋找兩個素數,使得其和等於該偶數.做好了這件實事,就能說明這個猜想是成立的.由於可以有不同的素數對來表示同乙個偶數,所以專門要求所尋找的素數對是兩個值最相近的.輸入中是一些偶整數m 5 ...
HDU 1262 尋找素數對
哥德 猜想大家都知道一點吧.我們現在不是想證明這個結論,而是想在程式語言內部能夠表示的數集中,任意取出乙個偶數,來尋找兩個素數,使得其和等於該偶數.做好了這件實事,就能說明這個猜想是成立的.由於可以有不同的素數對來表示同乙個偶數,所以專門要求所尋找的素數對是兩個值最相近的.輸入中是一些偶整數m 5對...