diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-05-16 13:18:59 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-05-16 13:18:59 -0500 |
commit | f00ed31e63ba99d4b62d7b16e3a04f470bc085bb (patch) | |
tree | 18173a4406bc4f7c633c3933cc058b0b2815972c | |
parent | 4c97262a413394e77cc929e97935bc6ac8a5372e (diff) | |
download | projecteuler-f00ed31e63ba99d4b62d7b16e3a04f470bc085bb.tar.gz projecteuler-f00ed31e63ba99d4b62d7b16e3a04f470bc085bb.zip |
solution for 49
-rwxr-xr-x | 049.pl | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -0,0 +1,19 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Math::Prime::XS qw/sieve_primes is_prime/; + +my @possibilities = sieve_primes(1000,9999); +my %primes = map { $_, 1 } @possibilities; + +PRIME: for my $prime (@possibilities) { + for my $inc (2..4500) { + my ($prime2, $prime3) = ($prime + $inc, $prime + $inc + $inc); + next PRIME if $prime3 > 9999; + next unless $primes{$prime2} && $primes{$prime3}; + my @sort = map { join '', sort split //, $_ } $prime, $prime2, $prime3; + if ($sort[0] eq $sort[1] && $sort[0] eq $sort[2]) { + print "$prime$prime2$prime3\n"; + } + } +} |