素数の時にJoJo -Java-

なんか流行りらしいので。

素数のときだけ"JOJO!"って出力するプログラムを作ってみた - くりにっき

素数のときにJoJo - scala - - 言葉をポッケに持ち歩こう

素数の時にEnrico Pucciと出力するプログラムを書いてみた - mike、mikeなるままに…

まったくもって面白みが無いですがJavaです。

みけねこさんのコードを参考にもうちょっとだけ速度を求めてみました。
Integer.MAX_VALUEの1000分の1まですべての数値を検査してみた限りだと3倍ぐらい早くなっているらしいです。
ちょっとのロジックの変更だけで随分と変わるものですね。

アルゴリズムを学ぼう

アルゴリズムを学ぼう

なお、途中素数判定の時に毎回ループカウンタで割っているところを最終的に行き着く値である平方根(つまりMath.sqrt())に置き換えると早くなるかと思ったらそんなことはなかったぜーとだけ追記しておきます。
平方根を計算するロジックは毎回割り算するよりも重いらしいです。


追記:
Javaだから記述量が冗長!みたいな感じで捉えられる人が居るかもしれないので、速度を考えない場合のロジックも貼っておきます。
他の言語と記述量そんなに変わらないでしょう?