# file pal.pl my $d = shift; my ($p, $n, @r); my $r1 = - (9 x $d); my $r2 = - ((9 x ($d-1)) +1); IT: for my $f ($r1 .. $r2 ) { for ($f .. $r2) { $p = $f * $_; last if $p < $r[2]; if ($p eq reverse $p) { if ($n < $p) { $n = $p; @r = ($f,$_,$p); next IT; } } } last if -$f**2 < $r[2]; } print -$r[0]," * ",-$r[1]," = $r[2]\n"; __END__ 993 * 913 = 906609