diff options
Diffstat (limited to '035.pl')
-rwxr-xr-x | 035.pl | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -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"; |