PAT乙1007素數對猜想(C語言)

2021-10-08 05:42:25 字數 860 閱讀 4658

個人水平有限,如有不足請指出十分感謝。

1.題目理解:

在給定的整數範圍內找到所有滿足要求的素數對。

素數對的條件:相鄰且的絕對值差為2

2.解題思路:

1.首先找到第乙個素數(a),在找到與其相鄰的下乙個素數(b),判斷是否滿足條件,如果不滿足,則將b作為第乙個素數,重複上述操作;滿足則計數器加一,將b作為第乙個素數,重複上述操作;

2.使用迴圈結構。

3.注意的點:

1.判斷素數的方法有很多,我這裡用的是從2到√x中是否存在其他因數,如果有就不是素數,反之就是素數。

2.題目給定的整體從1開始判斷,不是從0.

3.注意邊界。(具體看**注釋)

//讓我們定義dn為:d​n= pn + 1−pn,其中p​i是第i個素數。顯然有d​1= 1,且對於n > 1有dn

//​​是偶數。「素數對猜想」認為「存在無窮多對相鄰且差為2的素數」。

//現給定任意正整數n(< 10^​5​​),請計算不超過n的滿足猜想的素數對的個數。

#include

#include

bool check

(int a)

return true;

}int

main()

i = n;

//更新i的素數值,因為再次查詢的素數不滿足相鄰條件,可直接跳出迴圈

break;}

}}}printf

("%d"

, count)

;return0;

}

PAT乙1007 素數對猜想

讓我們定義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的滿足猜想的...

PAT乙1007 素數對猜想

讓我們定義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。輸出格式 在一行中輸出...

PAT(乙) 1007 素數對猜想 20

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現...