diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-05-19 22:24:17 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-05-19 22:24:17 -0500 |
commit | a610f19b4deee966456845d83795a6f832c5e7a4 (patch) | |
tree | 479cde603c48283c1a69fecf8761e50253c90072 | |
parent | 7bb644c6e7da16f16ed8337dcf3d6341ac9d2ec1 (diff) | |
download | projecteuler-a610f19b4deee966456845d83795a6f832c5e7a4.tar.gz projecteuler-a610f19b4deee966456845d83795a6f832c5e7a4.zip |
46 solution
-rwxr-xr-x | 046.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/; +use integer; + +my @primes = sieve_primes(1e6); +my %primes = map { $_, 1 } @primes; + +N: for my $n (2..100000) { + my $oddn = $n * 2 - 1; + next if exists $primes{$oddn}; + for my $m (1..sqrt($oddn)) { + my $possible_prime = $oddn - 2 * $m**2; + next N if $primes{$possible_prime}; + } + print "$oddn\n"; + last; +} |