Python 判斷素數
素數在許多資訊科技應用中扮演著核心角色,例如密碼學。因此,在各種應用中使用 Python 程式檢查素數是必要的。素數是指除了 1 和自身之外沒有其他因子的數。下面我們將看到可以找出給定數字是否為素數的程式。
方法
我們採用以下方法來判斷一個數是否為素數。
首先檢查數字是否為正數。因為只有正數才能是素數。
我們將數字除以從 2 到小於給定數字的數範圍內的所有數字。
如果在這個範圍內任何數字的餘數為零,則它不是素數。
示例
x = 23 if x > 1: for n in range(2, x): if (x % n) == 0: print(x, "is not prime") print(n, "times", x // n, "is", x) break else: print(x, "is a prime number") else: print(x, "is not prime number")
輸出
執行上述程式碼得到以下結果:
23 is a prime number
檢查 6i+1 的形式
所有大於 6 的素數都可以表示為 6i+1 的形式。這裡 I 從 1 開始,依次遞增為整數。在下面的例子中,我們將透過將其除以 6 並檢查餘數是否為 1 來檢查該數字是否可以表示為 6i+1 的形式。相應地,我們將決定該數字是否為素數。我們還需要檢查 i 值是否等於給定數字的平方根。
示例
def CheckPrime(n):
# Check for cases of 2 and 3
if (n <= 1):
return False
if (n <= 3):
return True
# skip checking middle five numbers in the loop
if (n % 2 == 0 or n % 3 == 0):
return False
i = 5
while (i * i <= n):
if (n % i == 0 or n % (i + 2) == 0):
return False
i = i + 6
return True
# Check for inputs
if (CheckPrime(31)):
print(" true")
else:
print(" false")
if (CheckPrime(25)):
print(" true")
else:
print(" false")輸出
執行上述程式碼得到以下結果:
true false
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP