각 자리의 숫자를 4제곱해서 더했을 때 자기 자신이 되는 수는 놀랍게도 단 세 개밖에 없습니다.
1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44(1 = 14의 경우는 엄밀히 말해 합이 아니므로 제외합니다)
위의 세 숫자를 모두 더하면 1634 + 8208 + 9474 = 19316 입니다.
그렇다면, 각 자리 숫자를 5제곱해서 더했을 때 자기 자신이 되는 수들의 합은 얼마입니까?
처음에 $l 에 한계값을 구해놓고 계산한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/usr/bin/env perl use 5.010; use strict; use warnings; my $r = 0; my $l = 9; $l .= 9 while ($l < length($l)*(9**5)); for my $i (2..$l) { my $a = 0; $a += $_**5 foreach (split (//, $i)); $r += $i if ($i == $a); } say $r; |