讓我們定義 dn 為:dn = pn+1 - pn,其中 pi 是第i個素數。顯然有 d1=1 且對於n>1有 dn 是偶數。「素數對猜想」認為「存在無窮多對相鄰且差為2的素數」。
現給定任意正整數n (< 105),請計算不超過n的滿足猜想的素數對的個數。
輸入格式:每個測試輸入包含1個測試用例,給出正整數n。
輸出格式:每個測試用例的輸出佔一行,不超過n的滿足猜想的素數對的個數。
輸入樣例:
20輸出樣例:
4備註:如何判斷n是不是素數?
計算n是否可以整除x,x∈[2,n-1]。
-> 可以縮小x範圍加快速度,x∈[2,根號(n)]。
-> 範圍內不需要每個數檢查是否整除,只需要檢查範圍內的素數,
例如在區間[2,10],只需要檢查2/3/5/7四個素數是否能被整除,4/6/8/9合數可以跳過(因為可以整除2必然可以整除4/6/8)。
#include int isprime(int, int*, int);
int main()
}// printf("\n");
for(i=1; prime[i]<=n; i++) /*計算素數對*/ }
printf("%d", cnt);
return 0;
}/*判斷素數,如果是則返回1,不是返回0*/
int isprime(int x, int *p, int len)
{ int flag = 1;
int i;
for(i=0; i
1007 素數對猜想 20
1007.素數對猜想 20 讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用...
1007 素數對猜想 20
讓我們定義 dn 為 dn pn 1 pn,其中pi 是第i個素數 顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 每...
1007 素數對猜想 20
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現...