😗
[ChatGPT]素数を求めるプログラムをPythonで書いてもらう
はじめに
ChatGPTに素数を表示するプログラムをPythonで書いてもらうようにします。
[質問]素数を小さい順に100個表示するプログラムをPythonで書いて
[ChatGPT]素数を求めるためのアルゴリズムとして有名なのは「エラトステネスの篩」です。
このアルゴリズムを用いて、小さい順に100個の素数を表示するプログラムをPythonで
書いてみましょう。
prime_number.py
def sieve_of_eratosthenes(n):
prime = [True for i in range(n+1)]
p = 2
while p * p <= n:
if prime[p] == True:
for i in range(p * p, n+1, p):
prime[i] = False
p += 1
primes = []
for p in range(2, n):
if prime[p]:
primes.append(p)
return primes
n = 200
primes = sieve_of_eratosthenes(n)
for i in range(100):
print(primes[i])
[ChatGPT]このプログラムでは、最大値 n を200に設定していますが、
必要に応じて変更することができます。
とありますが、素数を小さい順から並べると100番目の素数は200より大きくなるので、全て表示できません。
n=600に変更することで、素数を100個表示させることができます。
Discussion