use prime; use strict; my @prime = prime::make_prime_table(10000); my $i = 0; while ($prime[$i] < 1480) { ++$i; } for (; $i < @prime; ++$i) { for (my $j = $i + 1; $j < @prime; ++$j) { my $a = $prime[$i]; my $b = $prime[$j]; my $c = $b + ($b - $a); if (prime::is_prime($c, \@prime) && array_match($a, $b) && array_match($b, $c)) { print "$a,$b,$c\n"; exit(0); } } } sub array_match { my ($p1, $p2) = @_; my @a1 = sort { $a <=> $b } split(//, $p1); my @a2 = sort { $a <=> $b } split(//, $p2); for (my $i = 0; $i < @a1; ++$i) { if ($a1[$i] != $a2[$i]) { return 0; } } return 1; }