/*-------------------------------------- ex7_5.java 1〜1000の数の中から素数を見つけて列挙 ---------------------------------------*/ class ex7_5 { public static void main(String[] args) { int prime[] = new int[500]; // 素数格納用の配列(要素数は取り敢えず500) int num_p = 0; // 素数の個数格納用変数 int i, j; prime[0] = 2; // 最初の素数は2なので代入しておく num_p++; // 素数の個数:1つ代入したので増やしておく for (i = 3; i <= 1000; i++) { // 3〜1000までの数値の素数探索ループ for (j = 0; j < num_p; j++) { // 見つかっている素数の数だけループ if (i % prime[j] == 0) { // 探索対象の数 i を素数で割って割り切れたら… break; // 素数じゃないので,ループから抜ける } } if (j == num_p) { // 探索回数がこれまで見つかった素数の数に等しいなら… prime[num_p] = i; // 素数を1つ見つけたことになるので,配列に格納 num_p++; // 見つけた素数の数をひとつ増やす } } for (i = 0; i < num_p; i++) { // 見つけた素数を表示する System.out.print(prime[i] + ", "); } System.out.println(); } }