1. 程式人生 > >【演算法】用Python尋找質數

【演算法】用Python尋找質數

質數(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計次來統計質數個數。

參考

< (預設)左對齊

> 右對齊

^ 中間對齊

= (只用於數字)在小數點後進行補齊