source code for "files/pe/euler.pm"
return to portfolio
- package euler;
- # is it 1..n pandigital?
- sub is_pandigital {
- my $s = join '', sort @_;
- $s = join '', sort split //, $s;
- return $s eq join('', 1..length $s) ? 1: 0;
- }
- # is it 0..n pandigital
- sub is_0pandigital {
- my $s = join '', sort @_;
- $s = join '', sort split //, $s;
- return $s eq join('', 0..length $s-1) ? 1: 0;
- }
- # gives a pythagorean triplet... there are repeats
- sub pythagorean_trip {
- my ($m, $n) = @_;
- return 0 if $m < 1 || $n < 1;
- return (abs($m**2-$n**2), (2*$m*$n), ($m**2+$n**2));
- }
- return 1;