数字阶乘
作者:Quinn Perfetto
https://projecteuler.net/problem=34
145 是一个奇怪的数字,因为 1! + 4! + 5! = 1 + 24 + 120 = 145。
求所有等于其各位数字阶乘之和的数字之和。
注意:因为 1! = 1 和 2! = 2 不是和,所以不包括在内。
源代码: prob034-quinny.pl
use v6;
sub fact ($n) {
[*] 1..$n;
}
sub factDigits ($n is copy) {
[+] gather while $n > 0 {
take fact $n % 10;
$n div= 10;
}
}
say [+] gather for 3...40586 {
take $_ if factDigits($_) == $_
}
Perl 6 示例