2010年07月22日13:00 カテゴリ regexp - でエラトステネスのふるい やりましょう。 正規表現で素数判定 - NO!と言えるようになりたい 正規表現でエラトステネスのふるいはさすがに無理かなできました。 #!/usr/bin/perl use strict; use warnings; my $max = shift || 100; my @primes; sieve: for my $ns ( map { 1 x $_ } ( 2 .. $max ) ) { for my $ds (@primes) { last if $ds x length($ds) gt $ns; next sieve if $ns =~ /^(?:$ds)+$/; } push @primes, $ns; printf "%3d:%s\n", length $ns, $ns; } 見ての通り、本
![regexp - でエラトステネスのふるい : 404 Blog Not Found](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)