$tot = 0; for ($i = 3; $i < 150000; $i++) { $sm = 0; for ($j = 0; $j < length($i); $j++) { $f = factorial(substr($i,$j,1)); $sm = $sm + $f; } if ($sm == $i) { print "$i "; $tot += $i; } } print "\n----\n$tot\n"; ; exit; sub factorial { my ($input) = @_; $s=1; $r=1; while ($s <= $input) { $r *= $s; $s++; } if($input == 0) { $r=1; } return $r; }