解題思路
**疑難點以及一些測試資料
讓我們定義dn為:dn=pn+1−pn,其中pi是第i個素數。顯然有d1=1,且對於n>1有dn是偶數。「素數對猜想」認為「存在無窮多對相鄰且差為2的素數」。
現給定任意正整數n
(<105),請計算不超過n
的滿足猜想的素數對的個數。
輸入在一行給出正整數n
。
在一行中輸出不超過n
的滿足猜想的素數對的個數。
20
4
資料範圍不算特別大,可以直接使用暴力的方法,根據輸入的數字,篩選出2–n之間所有的素數
然後再在這些素數中間兩兩做差,對結果為2的素數對計數即可
可以優化的地方,就是求素數的地方,可以用更高效的方法篩選素數
#include
int prime[
10005];
intisprime
(int n)
if(j>
sqrt
(i))
prime[k++
]=i;
}return k;
}int
main()
printf
("%d\n"
,k);
}
無 1007 素數對猜想 (20 分)
讓我們定義d n 為 d n p n 1 p n 其中p i 是第i個素數。顯然有d 1 1,且對於n 1有d n 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 10 5 請計算不超過n的滿足猜想的素數對的個數。輸入在一行給出正整數n。在一行中輸出不超過n的滿足猜想的...
1007 素數對猜想 (20 分)
讓我們定義d n 為 d n p n 1 p n 其中p i 是第i個素數。顯然有d 1 1,且對於n 1有d n 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 10 5 請計算不超過n的滿足猜想的素數對的個數。輸入在一行給出正整數n。在一行中輸出不超過n的滿足猜想的...
1007 素數對猜想 (20 分)
1007 素數對猜想 20 分 讓我們定義dn pn 1 p nd n p p n dn pn 1 pn 其中p ip i pi 是第i個素數。顯然有d1 1d 1 1 d1 1,且對於n 1有d n d n d n 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 10...