summaryrefslogtreecommitdiffstats
path: root/037.pl
blob: f20b2c80b736a3044db941357da8d92b81be08b4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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";