素数を求める (ver.5)
明解C言語 入門編 > 5. 配列 >
素数を求める (ver.5)
Java
class Lesson042 { public static void main(String[] args) { int ptr = 0; int[] prime = new int[15]; prime[ptr++] = 2; prime[ptr++] = 3; long counter = 0; for (int no = 5; no <= 30; no += 2) { int i = 1; int j = 0; while (true) { counter++; if (prime[i] * prime[i] > no) break; counter++; if (no % prime[i] == 0) { j = 1; break; // 割り切れるので、素数ではない } i++; } if (j == 0) prime[ptr++] = no; // 最後まで割り切れなかったので、素数 } for (int i = 0; i < ptr; i++) System.out.printf("%d\n", prime[i]); System.out.printf("計算を行った回数:%d\n", counter); } }
実行結果
L:\>java Lesson042
2
3
5
7
11
13
17
19
23
29
計算を行った回数:34