Problem 56 : Powerful digit sum

Problem Statement

A googol (10100) is a massive number: one followed by one-hundred zeros; 100100 is almost unimaginably large: one followed by two-hundred zeros. Despite their size, the sum of the digits in each number is only 1.

Considering natural numbers of the form, ab, where a, b < 100, what is the maximum digital sum?

Solution

digi_sum=[]
for a in range(1,101):
    for b in range(1,101):
        add=[]
        val = list(str(a**b))
        for i in val:
            add.append(int(i))
        digi_sum.append(sum(add))

res = sorted(digi_sum)
print(res[-1])

Output

972