summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-05-15 18:52:34 -0500
committerJesse Luehrs <doy@tozt.net>2009-05-15 18:52:34 -0500
commit0e52573b8c2a5377f32ffac7ee8db66126844138 (patch)
treec23a1ef83a09ae8eafbd54a349a09081234d80d2
parent49260ea122d3e6c5e1aab89e65b8cb8cdb10df48 (diff)
downloadprojecteuler-0e52573b8c2a5377f32ffac7ee8db66126844138.tar.gz
projecteuler-0e52573b8c2a5377f32ffac7ee8db66126844138.zip
solution for 35
-rwxr-xr-x035.pl23
1 files changed, 23 insertions, 0 deletions
diff --git a/035.pl b/035.pl
new file mode 100755
index 0000000..a7a34cb
--- /dev/null
+++ b/035.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Math::Prime::XS qw/sieve_primes/;
+use List::MoreUtils qw/all/;
+
+sub rotations {
+ my $str = shift;
+ my @ret;
+ for (1..(length $str)) {
+ push @ret, $str;
+ my $letter = substr $str, 0, 1, '';
+ $str = "$str$letter";
+ }
+ return @ret;
+}
+
+my %primes = map { $_, 1 } sieve_primes(1e6);
+my $total = 0;
+for my $prime (keys %primes) {
+ $total++ if all { exists $primes{$_} } rotations($prime);
+}
+print "$total\n";