• ベストアンサー

1からnまでの素数を判定し表示できるようにしたい。

素数は自身の数と1でしか割り切れない数のはずですがどのような条件を組めばよいのでしょうか。nは任意の値なのですが、おそらく IOExceptionBufferedReader ~ Integer.parseInt() を使って、コマンドプロンプトにじかに値を入力すればよいのだとは思います。このことと、前の二つで質問したのですが、forとifを併用すれば表示できるのではないかなあと思っているのですがいかがでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

「エラトステネスのふるい」と言う方法が有名です。 2~nの配列に1を入れておき 2重ループで2~nまでで2の倍数を0にする。 3~nまでで3の倍数を0にする。 ・ ・ n-1からnまででn-1の倍数を0にする。 1が残っているのが素数です。 参考URLにソースがあります。

参考URL:
http://homepage3.nifty.com/ymakise/java/Sieve/index.html
experion
質問者

お礼

回答、ありがとうございます。確かに素数が出力されたのですが、ソースの大半がさっぱり理解できなかったので、それを理解するように努力していきたいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A