Javaで素数判定を行うプログラム
素数とは
素数とは、1より大きい自然数で、1とその数自身以外に正の約数を持たない数のことです。代表的な例として、2、3、5、7、11、13、17などがあります。
重要なポイント:
- 0と1は素数ではありません。
- 2は唯一の偶数の素数です。
Javaで素数判定を行うプログラム
アルゴリズムの概要:
- 対象の数を2からその半分までの整数で割り、余りが0になるものがあれば合成数(素数でない)と判定します。
- 約数が見つかった時点でループを早期終了し、処理時間を短縮します。
- 最後まで約数が見つからなければ素数と判定します。
public class PrimeChecker {
public static void main(String[] args) {
int numberToCheck = 17; // この値を変更して他の数をテスト可能
boolean isPrime = true;
// エッジケース: 0と1は素数ではない
if (numberToCheck < 2) {
isPrime = false;
} else {
for (int i = 2; i <= numberToCheck / 2; i++) {
int remainder = numberToCheck % i;
System.out.println(numberToCheck + " ÷ " + i + " = " + (numberToCheck / i) + " 余り " + remainder);
if (remainder == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
System.out.println(numberToCheck + " は素数です。");
} else {
System.out.println(numberToCheck + " は素数ではありません。");
}
}
}
実行結果の例
17 ÷ 2 = 8 余り 1 17 ÷ 3 = 5 余り 2 17 ÷ 4 = 4 余り 1 17 ÷ 5 = 3 余り 2 17 ÷ 6 = 2 余り 5 17 ÷ 7 = 2 余り 3 17 ÷ 8 = 2 余り 1 17 は素数です。
上記のプログラムを使って任意の整数を判定したり、1から100までの素数を全て見つけるように拡張したりできます。
Java
- Java Hello World:最初のプログラム
- Java演算子をマスター:種類、構文、実践例
- Javaコメント:種類、使い方、ベストプラクティス
- Java拡張forループをマスター:構文、例、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例
- Java String.contains()メソッド:部分文字列チェックの実践例
- Java コンストラクタオーバーロード完全解説:実践コード例付き
- Javaで1から100までの素数を列挙するプログラム