【演算法】用Python尋找質數
阿新 • • 發佈:2018-12-31
質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數,這樣的數稱為質數。---百度百科
在一般領域,對正整數n,如果用2到根號n之間的所有整數去除,均無法整除,則n為質數。質數大於等於2 不能被它本身和1以外的數整除
根據以上資訊我們就可以設計一個函式:
from math import sqrt def Judge(num): if num == 0: return 0 if num == 1: return 0 for i in range(2, int(sqrt(num))+1): if num % i == 0: return 0 return 1
向Judge()函式傳入引數,若是質數則return 1,不是return 0
貼完整程式碼
from math import sqrt def Judge(num): if num == 0: return 0 if num == 1: return 0 for i in range(2, int(sqrt(num))+1): if num % i == 0: return 0 return 1 j=0 for a in range(0,10000): if Judge(a) == 1: print ('{0:>3}'.format(a),end='\t') j=j+1 else : pass print(j)
這裡使用到了格式化輸出{0:>4}.format()使保持4位佔位符,右對齊。\t為橫向製表符。j計次來統計質數個數。
參考
< (預設)左對齊
> 右對齊
^ 中間對齊
= (只用於數字)在小數點後進行補齊