Project Euler Problem 16: Power Digit Sum

The source code for this problem can be found here.

Problem Statement

\(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}\)?

Solution Discussion

Simply compute \(2^{1000}\) using Python’s arbitrary precision arithmetic and then compute the digital sum.

Solution Implementation

from lib.digital import digit_sum


def solve():
    """ Compute the answer to Project Euler's problem #16 """
    target = 2 ** 1000
    answer = digit_sum(target)
    return answer


expected_answer = 1366
solutions.problem16.solve()

Compute the answer to Project Euler’s problem #16