素数は素数とも呼ばれます。 1 より大きく、1 と整数自体を除く他の自然数で割り切れない自然数を指します。素数は整数論において重要な役割を果たします。 1より大きいが素数ではない数を合成数と呼びます。 1 と 0 は素数でも合成数でもありません。素数は合成数に対置される 2 つの概念であり、数論における最も基本的な定義の 1 つを構成します。ゴールドバッハ予想など、素数の定義に基づく世界レベルの問題は数多くあります。算術の基本定理は、1 より大きいすべての正の整数は素数の積として記述できること、およびこの積の形式が一意であることを証明しています。この定理の重要な点は、素数の集合から 1 が除外されていることです。 1 が素数とみなされる場合、これらの厳密な公式にはいくつかの制限を課す必要があります。 数日前、友人が時々 Python に素数を決定する方法を尋ねました。私はオンラインで調べて、数値が素数であるかどうかを決定するための Python スクリプトのいくつかの方法をまとめました。
1 Python の数学関数を使用します。
import math def isPrime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True
2. 素数をスキャンする単一行プログラム
from math import sqrt N = 100 [ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]
from itertools import count def isPrime(n): www.php.cn if n <= 1: return False for i in count(2): if i * i > n: return True if n % i == 0: return False
3. モジュールを使用しない2つの方法。
方法 1:
def isPrime(n): if n <= 1: return False i = 2 while i*i <= n: if n % i == 0: return False i += 1 return True
def isPrime(n): if n <= 1: return False if n == 2: return True if n % 2 == 0: return False i = 3 while i * i <= n: if n % i == 0: return False i += 2 return True
それは1またはそれ自身でしか割りられないので、余りが0になる2回だけ