n 番目の素数と、指定した上限以下にある素数の個数を、エラトステネスの篩で求めます。2 から順に、その数の倍数を消していくと、消し残ったものが素数です。1 つずつ試し割りするより速く数えられます。
番目の素数と、決めた上限までに素数がいくつあるかを求めます。エラトステネスの篩を使います。
2 から順に数を並べ、2 の倍数、3 の倍数、5 の倍数 … と消していきます。消し残ったものが素数です。1 つずつ試し割りするより、まとめて速く数えられます。
100 番目の素数は 541 です。1000 以下の素数は 168 個あります。10000 以下なら 1229 個、100000 以下なら 9592 個で、大きくなるほど素数はまばらになります。
以下の素数の個数は、おおよそ 個になります。これを素数定理といいます。
なら で、実際の 168 に近い値です。 が大きくなるほど、この見積りの相対的な誤差は小さくなります。
篩は上限のぶんだけ場所を使うので、 は 50000 まで、数える上限は 1000000 までにしてあります。
1 は素数ではありません。素数は 2 から始まります。