- 方法1: 単純な試し割り法 単純な試し割り法は、最も基本的な素数生成アルゴリズムです。以下にPythonでのコード例を示します。
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n0.5) + 1):
if n % i == 0:
return False
return True
def prime_generator(limit):
primes = []
for num in range(2, limit):
if is_prime(num):
primes.append(num)
return primes
上記のコードでは、is_prime()
関数が与えられた数が素数かどうかを判定します。prime_generator()
関数では、指定された範囲内の素数をリストとして返します。
- 方法2: エラトステネスの篩法 エラトステネスの篩法は、素数を効率的に生成するアルゴリズムです。以下にPythonでのコード例を示します。
def prime_generator(limit):
sieve = [True] * limit
sieve[0] = sieve[1] = False
primes = []
for (i, is_prime) in enumerate(sieve):
if is_prime:
primes.append(i)
for n in range(i*i, limit, i):
sieve[n] = False
return primes
上記のコードでは、sieve
リストを使用して篩法を実装しています。sieve[i]
がTrueの場合は、i
が素数であることを示します。篩法のアイデアは、素数の倍数を順番に除外することです。
これらのコード例を使用すると、指定された範囲内の素数を生成することができます。例えば、prime_generator(100)
を呼び出すと、100以下の素数が返されます。
以上が、シンプルで効果的な素数生成器の作成方法です。これらのアルゴリズムを使用することで、素数を簡単に生成することができます。