素数を求める (ver.5)
明解C言語 入門編 > 5. 配列 >
素数を求める (ver.5)
Perl
@prime = (); $ptr = 0; $counter = 0; $prime[$ptr++] = 2; $prime[$ptr++] = 3; $no = 5; while ($no <= 30) { $j = 0; for ($i = 1; $counter++, $prime[$i] * $prime[$i] <= $no; $i++) { $counter++; if ($no % $prime[$i] == 0) { $j = 1; last; # 割り切れるので、素数ではない } } $prime[$ptr++] = $no unless ($j); # 最後まで割り切れなかったので、素数 $no += 2; } foreach $p(@prime) { print "$p\n"; } print "計算を行った回数:$counter\n";
実行結果
L:\>perl lesson_05_042.pl
2
3
5
7
11
13
17
19
23
29
計算を行った回数:34