Python程式中查詢素數的不同方法
在本教程中,我們將探討查詢給定數字是否有效不同的方法。讓我們開始吧。
方法一
這是一個查詢素數的通用方法。
如果數字小於或等於1,則返回False。
如果數字可以被任何數字整除,則函式將返回False。
迴圈結束後,返回True。
示例
# checking for prime
def is_prime(n):
if n <= 1:
return False
else:
for i in range(2, n):
# checking for factor
if n % i == 0:
# return False
return False
# returning True
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")輸出
如果您執行以上程式碼,則將獲得以下結果。
Is 2 prime: True Is 4 prime: False Is 7 prime: True
方法二
在這種方法中,我們將透過將迭代次數減少到n的平方根來減少迭代次數。讓我們看看程式碼。
示例
import math
# checking for prime
def is_prime(n):
if n <= 1:
return False
else:
# iterating loop till square root of n
for i in range(2, int(math.sqrt(n)) + 1):
# checking for factor
if n % i == 0:
# return False
return False
# returning True
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")輸出
如果您執行以上程式碼,則將獲得以下結果。
Is 2 prime: True Is 4 prime: False Is 7 prime: True
方法三
在先前的方法中,我們檢查了偶數。我們都知道,除了2之外,偶數不可能是素數。因此,在這種方法中,我們將刪除所有偶數以減少時間。
示例
import math
# checking for prime
def is_prime(n):
# checking for less than 1
if n <= 1:
return False
# checking for 2
elif n == 2:
return True
elif n > 2 and n % 2 == 0:
return False
else:
# iterating loop till square root of n
for i in range(3, int(math.sqrt(n)) + 1, 2):
# checking for factor
if n % i == 0:
# return False
return False
# returning True
return True
print(f"Is 2 prime: {is_prime(2)}")
print(f"Is 4 prime: {is_prime(4)}")
print(f"Is 7 prime: {is_prime(7)}")輸出
如果您執行以上程式碼,則將獲得以下結果。
Is 2 prime: True Is 4 prime: False Is 7 prime: True
結論
如果您對本教程有任何疑問,請在評論部分提出。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP