如何用python求100以內的素數?
質數(primenumber)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數,如:2、3、5、7、11、13、17、19。
方法一,用for迴圈來實現num=;
i=2for i in range(2,100):
j=2for j in range(2,i):
if(i%j==0):
break
else:
print(num)
方法二,用函式來實現import math
def func_get_prime(n):
return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))
print func_get_prime(100)
輸出結果為:[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]
用python如何求100以內的素數?
我們先來說一下素數的定義 素數 質數 prime number 又稱素數,有無限個。乙個大於1的自然數,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數 否則稱為合數。根據這個特徵,我們的 可以這樣寫 i 2 while i 100 for j in ran...
求素數 Python實現
用filter求素數 計算素數的乙個方法是埃氏篩法,它的演算法理解起來非常簡單 首先,列出從2開始的所有自然數,構造乙個序列 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,取序列的第乙個數2,它一定是素數,然後用2把序列的2的倍數篩掉 3,4,5,...
使用Python求素數
素數,只能被1和它自身整除的數 n int input 輸入整數 if n 2 print n,不是素數 for i in range 2,n if n i 0 print 這個數不是素數 break else print 這個數是素數 以上程式在進行判斷時存在乙個邏輯錯誤,當 n i 0 不成立,...