問題描述:
若兩個素數之差為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:
return none
else:
return true
a=for j in range(2,100):
if prime(j)==true:
for k in range(len(a)-1):
if a[k]+2==a[k+1]:
print a[k],a[k+1]
結果:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
3 55 7
11 13
17 19
29 31
41 43
59 61
71 73
我的思路:
而且乙個素數的孿生素數必然是在其左右的,所以判斷是否滿足a[k]+2==a[k+1]關係,滿足的兩素數即為孿生素數,注意,此時的迴圈範圍為len(a)-1,如果是a[k-1]+
Python 計算100以內素數之和
找出100內所有素數 ls for i in range 100 if i 2 continue 難點 1.range 2,2 返回空值,直接跳過迴圈,未執行break,else語句會被執行 2.for.j迴圈執行完畢後,如果未找到滿足i j 0的數值,證明其是素數,break不會被執行,else會...
演算法題 查詢100以內的孿生素數的組數
所謂孿生素數指的是間隔為2的相鄰素數,就像孿生兄弟。最小的孿生素數是 3,5 在100 以內的孿生素數還有 5,7 11,13 17,19 29,31 41,43 59,61 和 71,73 總計有 8 組。思路 遍歷到100,先判斷當前的數字是否是素數,是則記錄下來,並且和上乙個記錄下來的素數進行...
python 求100以內素數 質數和
import math def is prime n 簡化問題,先利用函式判斷是否為質數 if n 1 是賦值,才是判斷,切記切記 return false for i in range 2,int math.sqrt n 1 質數判斷條件,注意 1 if n i 0 return false re...