20 lines
509 B
Perl
20 lines
509 B
Perl
#!/usr/bin/perl
|
|
|
|
use strict; # https://rosettacode.org/wiki/Rare_numbers
|
|
use warnings;
|
|
use integer;
|
|
|
|
my $count = 0;
|
|
my @squares;
|
|
for my $large ( 0 .. 1e5 )
|
|
{
|
|
my $largesquared = $squares[$large] = $large * $large; # $large ** 2;
|
|
for my $small ( 0 .. $large - 1 )
|
|
{
|
|
my $n = $largesquared + $squares[$small];
|
|
2 * $large * $small == reverse $n or next;
|
|
printf "%12s %s\n", $n, scalar reverse $n;
|
|
$n == reverse $n and die "oops!"; # palindrome check
|
|
++$count >= 5 and exit;
|
|
}
|
|
}
|