File: project_euler_049.pl

package info (click to toggle)
libmath-prime-util-perl 0.73-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,796 kB
  • sloc: perl: 24,676; ansic: 11,471; makefile: 26; python: 24
file content (21 lines) | stat: -rw-r--r-- 535 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env perl
use warnings;
use strict;
use Math::Prime::Util qw/is_prime primes/;

sub is_perm {
  my($a,$b) = @_;
  return length($a) == length($b) &&
         join("",sort split(//,$a)) eq join("",sort split(//,$b));
}

foreach my $inc2 (1 .. 1700) {
  my $inc = $inc2 * 2;
  foreach my $p (@{primes(1000,9999)}) {
    my($p2, $p3) = ($p+$inc, $p+$inc+$inc);
    last if $p3 > 9999;
    next unless is_prime($p2) && is_prime($p3);
    next unless is_perm($p, $p2) && is_perm($p, $p3);
    print "$p/$inc: $p $p2 $p3\n";
  }
}