public class PrimeNumbers {
public static void main(String[] args) {
// 1から100までの素数を表示
for (int i = 2; i <= 100; i++) {
boolean isPrime = true;
// 2からiの平方根までの数で割り切れるか確認
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break; // 割り切れる場合は素数ではないのでループを抜ける
}
}
// 素数の場合は表示
if (isPrime) {
System.out.println(i);
}
}
}
}
このプログラムでは、外側のfor文が2から100までの数を取り、内側のfor文で2からその数の平方根までの数で割り切れるかどうかを確認しています。結果、素数であればその数を表示します。素数の判定にはisPrime
というboolean型の変数を使用し、最終的に素数であるかどうかを判断しています。
判定結果の変数をループ内で操作する
上記の解答例の場合、内側のループで素数かどうかの判定結果を表す変数 isPrime
を使用します。
- 変数
isPrime
の初期化:isPrime
を最初にtrue
で初期化します。これは、まず素数と仮定するという意味です。
- 内側のループでの判定:
- 内側のfor文で2から
i
の平方根までの数で割り切れるかどうかを確認します。 - もし割り切れる数が見つかれば、
isPrime
をfalse
に変更し、内側のfor文を抜けます。
- 内側のfor文で2から
- 素数の表示:
- 最終的に
isPrime
がtrue
のままであれば、その数は素数であると判断し、表示します。
- 最終的に