summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x049.pl19
1 files changed, 19 insertions, 0 deletions
diff --git a/049.pl b/049.pl
new file mode 100755
index 0000000..10d714f
--- /dev/null
+++ b/049.pl
@@ -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";
+ }
+ }
+}