summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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";