Pythonプログラムで素数を見つけるためのさまざまな方法
このチュートリアルでは、さまざまな方法を調べて、指定された番号が有効かどうかを確認します。それ以上の期限なしで始めましょう。
方法-1
素数を見つける一般的な方法です。
-
数値が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
方法-2
この方法では、反復回数を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
方法-3
前の方法では、偶数をチェックしました。偶数は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
結論
チュートリアルに疑問がある場合は、コメントセクションでそのことを伝えてください。
-
素数をチェックするPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数が与えられているので、与えられた数が素数であるかどうかを確認する必要があります。 1より大きい特定の正の数で、1以外の要素はなく、その数自体は素数と呼ばれます。 2、3、5、7などは他の要素がないため素数です。 以下のこのプログラムでは、素数または非素数の性質について番号がチェックされます。 1以下の数は素数とは言えません。したがって、数値が1より大きい場合にのみ反復します。 ここで、その数が2から(num-1 // 2)の範囲の任意の数で正確に割り切れるかどうかを確認します。指定された範囲内に何ら
-
数の最大の素因数を見つけるためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 正の整数nが与えられます。数の最大の素因数を見つける必要があります。 アプローチ 指定された数値を数値の約数で割って因数分解します。 最大素因数を更新し続けます。 例 import math def maxPrimeFactor(n): # number must be even while n % 2 == 0: max_Prime = 2 n /= 1