所謂孿生素數指的是間隔為2的相鄰素數,就像孿生兄弟。
最小的孿生素數是(3, 5)。
在100 以內的孿生素數還有 (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和(71, 73),總計有 8 組。
思路:遍歷到100,先判斷當前的數字是否是素數,是則記錄下來,並且和上乙個記錄下來的素數進行比較,如果其差為2,則為一組孿生素數。
c#**
1static
int getprimetwins(int
number)219
}20//如果i是乙個素數
21if
(isss)
2230
}31 lastnum =i;32}
33}34return
count;
35 }
lua**
1function
getprimetwins(number)
2local count=0
3local lastnum=0
4for i=2,number,1
do5 isss=true
6for j=2,i/2,1do7
if i%j==0
then
8 isss=false
9break
10end
11end
1213
if isss==true
then
14if lastnum~=0
then
15if i-lastnum==2
then
16 count=count+1
17end
18end
19 lastnum=i
20end
21end
22return
count
23end
2425
print(getprimetwins(5)) --126
print(getprimetwins(7)) --227
print(getprimetwins(100)) --
8
python100以內孿生素數 孿生素數
問題描述 若兩個素數之差為2,則這兩個素數就是孿生素數。編寫程式找出1 100之間的所有孿生素數。我的 import math def prime n count 0 for i in range 2,int math.sqrt n 1 if n i 0 count 1 i 1 if count 1...
篩選法查詢100以內的素數
篩選法 是指從小到大篩去乙個已知素數的所有倍數。例如 根據2,我們篩選去4,6,8,98,100等數,然後根據3,我們可以篩選9,15,99等數 注意此時6 12等數早就被篩去了 由於4被篩去了,下乙個用於篩選的素數是5,以此類推,最後剩餘的就是100以內的素數。首先定義乙個int型別的陣列int ...
求100以內的素數(質數)演算法梳理
使用定理1的基本寫法 1 n 100 for i in range 2,n for j in range 2,i if i j 0 break else print i,end 這種基本寫法效率不高,有2點可以改進的地方 1 第一層迴圈的i取值時,因為偶數確定不是質數,所以排除偶數,使用range ...