如何透過 Python 檢視一個數字是不是質數?
本問題解決方案採用的原理是將給定數字除以從 3 到其平方根的所有數字,一個數字的平方根是其最大可能因子,超過這個因子就不必再檢查是否被任何其他數字整除,即可確定它是一個質數。
對於所有可被 2 整除且小於 2 的數字,此函式返回 false。對於其他數字,如果被任意一個從 3 到其平方根的數字整除,此函式將返回 false;如果不被任何數字整除,則返回 true。
示例
def is_prime(a): if a < 2: return False elif a!=2 and a % 2 == 0: return False else: return all (a % i for i in range(3, int(a**0.5)+1) ) num=int(input('enter a number')) if is_prime(num)==True: print ("{} is a prime number".format(num)) else: print ("{} is not a prime number".format(num))
輸出
以上程式的示例執行−
enter a number24 24 is not a prime number enter a number47 47 is a prime number
廣告