• 締切済み

*至急 200以下の素数を全て表示するプログラム

題の通りです。 200以下の素数を全て表示するプログラムをfor文を使って作りたいのですがどうすればいいのか全く検討がつきません。 自分でもいろんなperlに関するサイトを見ましたが、わからなすぎて困っています。 参考になるサイトでもいいので、 教えてください。

みんなの回答

  • ryu_chan
  • ベストアンサー率37% (69/186)
回答No.3

Perlならやはり正規表現でしょう。 my @primes; for my $num ( 2..200 ) { push @primes, $num if (1 x $num) !~ /^(11+)\1+$/; } print join q{ }, @primes;

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

@primes = qw(2 3 5 ...); # 200以下の素数を全部書いておく. for (@primes) { print "$_\n"; }

回答No.1

・単純な方法でいきますと n が素数かどうかを判定するために 1をのぞくn未満の数すべてで割ってみて、全て割り切れなかったら 素数である。 perlは詳しくないですが、剰余があれば簡単ですね。 ・高速化するには 奇数だけにしてみたり 割る数を√n 未満までにしたり 小さい数から順に調べるとして、割る数をそれまでに求めた素数 にしたりすれば良いでしょう。

関連するQ&A