指定された値未満の素数の数とすべての素数の値を返す Python 関数を作成しようとしています。エラトステネスのふるいアルゴリズムを使用する必要があります。関数に何かが欠けていると思います-たとえば、100未満の素数を見つけたい場合。得られるのは2、3、5、7だけです。「平方根」を使用しない場合は認識しています、必要なすべての素数を取得できます。しかし、そこに平方根を含める必要があると言われました。誰かが私のコードを見て、私が欠けているものを教えてもらえますか? 御時間ありがとうございます。
def p(n):
is_p=[False]*2 + [True]*(n-1)
for i in range(2, int(n**0.5)):
if is_p[i]:
yield i
for j in range(i*i, n, i):
is_p[j] = False