summaryrefslogtreecommitdiffstats
path: root/037.pl
diff options
context:
space:
mode:
Diffstat (limited to '037.pl')
-rwxr-xr-x037.pl19
1 files changed, 19 insertions, 0 deletions
diff --git a/037.pl b/037.pl
new file mode 100755
index 0000000..f20b2c8
--- /dev/null
+++ b/037.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Math::Prime::XS qw/sieve_primes/;
+use List::MoreUtils qw/all/;
+
+my @primes = sieve_primes(1e6);
+my %primes = map { $_, 1 } @primes;
+my $total = 0;
+for my $prime (@primes) {
+ next if $prime < 10;
+ my @potentials = grep { length }
+ map { substr($prime, 0, $_),
+ substr($prime, $_) }
+ 1..(length $prime);
+ next unless all { $primes{$_} } @potentials;
+ $total += $prime;
+}
+print "$total\n";