각 자리의 숫자를 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 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sum = 0 for target in range(2, 1000000): tmp = str(target) result = 0 for i in range(0, len(tmp)): result += int(tmp[i]) ** 5 if result == target: """ for i in range(0, len(tmp)): print int(tmp[i]) ** 5, if i != len(tmp)-1: print "+", else: print "=", """ Sum += target #print target print "n**5s sum is",Sum | cs |
'* Computer Science > Project Euler' 카테고리의 다른 글
project euler 33. problem (0) | 2016.08.26 |
---|---|
project euler 32. problem (0) | 2016.08.26 |
project euler 29. problem (0) | 2016.08.25 |
project euler 28. problem (0) | 2016.08.24 |
project euler 27. problem (0) | 2016.08.23 |