数字的五次方

作者:Andrei Osipov

令人惊讶的是,只有三个数字可以写成其各位数字的四次方之和

1634 = 1⁴ + 6⁴ + 3⁴ + 4⁴
8208 = 8⁴ + 2⁴ + 0⁴ + 8⁴
9474 = 9⁴ + 4⁴ + 7⁴ + 4⁴

由于 1 = 14 不是和,因此不包括在内。

这些数字的总和为 1634 + 8208 + 9474 = 19316。

求所有可以写成其各位数字的五次方之和的数字之和。

源代码: prob030-andreoss.pl

use v6;

sub get-numbers(:$start = 10, :$depth = 6, *@a) {
    return $@a unless $depth;
    flat do for ^$start -> \x {
        get-numbers start => x + 1,
                    depth => $depth -1, |@a,x;
    }
}

say [+] gather for get-numbers() -> @a {
    my $v = [+] @a »**» 5;
    my $b = [+] $v.comb.list »**» 5;
    take $b if $v == $b;
    LAST take -1;
}