Project Euler. #16. Power digit sum

By | 2013/03/03

Project Euler (http://projecteuler.net/) 문제16

{2^{15}} = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.

What is the sum of the digits of the number {2^{1000}}?

{2^{15}} = 32768 이고, 각 숫자의 합은 3 + 2 + 7 + 6 + 8 = 26 이다.

{2^{1000}} 의 각 숫자의 합은 무엇인가?

# My Solution #1
s = 0
for i in str(2**1000):
    s+=int(i)
print s

# My Solution #2
print reduce(lambda a,b:a+b, [int(i) for i in str(2**1000)])

{2^{1000}}를 str로 형변환하여 각 숫자를 iterator로 돌 수 있게 하고, 각 숫자를 다시 int로 형변환 하면서 계속 더했다. 이번 문제가 지금까지의 Project Euler 문제들 중에서 가장 쉬운 것 같다. 그냥 쉬어가는 문제~