Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:

1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44

As 1 = 14 is not a sum it is not included.

The sum of these numbers is 1634 + 8208 + 9474 = 19316.

Find the sum of all the numbers that can be written as the sum of fifth powers of their digits.

 

놀랍게도 각 자리 숫자의 4제곱 숫자의 합으로 표현될 수 있는 숫자는 4개 밖에 없다:

1634 = 14 + 64 + 34 + 44
8208 = 84 + 24 + 04 + 84
9474 = 94 + 44 + 74 + 44

1 = 14 은 합계가 아니기 때문에 포함하지 않았다.

이 숫자의 합은 1634 + 8208 + 9474 = 19316이다.

각 자리 숫자의 5제곱 숫자의 합으로 표현 가능한 숫자의 합계를 구하시오.

--------------------------------------------------------------------------

 

파이썬에서 숫자를 각 자리 숫자의 리스트로 변환하는 방법(반대로 숫자 리스트를 모아 하나의 숫자로 만드는 방법)을 알게 되면서 이런 유형의 숫자를 조작하는 문제는 구현하는 방법에만 집중할 수 있게 되었다.

 

1은 제외한다고 했으니, 2부터 시작해서 각 자리 숫자를 분리해서 5제곱 값을 구하고 이들을 합하여 원래 숫자와 동일한 것을 찾으면 된다.

 

핵심 알고리즘은 간단한데, 여기서 생기는 고민거리는 문제에서 모두 구하라고 했지 상한선을 제시하지 않았기 때문에 그것을 찾는 것이다. 가장 큰 경우인 9의 5제곱은 59049이고, 6자리 숫자 모두 9인 경우인 354294가 이론적인 상한이 되므로 2부터 354294이내의 숫자를 대상으로 위 알고리즘을 적용하면 구할 수 있다.

+ Recent posts