#!/usr/bin/env python3 """ Created on 07 Oct 2021 @author: David Doblas Jiménez @email: daviddoji@pm.me Solution for problem 56 of Project Euler https://projecteuler.net/problem=56 """ from utils import timeit @timeit("Problem 56") def compute(): """ A googol (10^100) 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, a^b, where a, b < 100, what is the maximum digital sum? """ ans = 0 for a in range(100): for b in range(100): num = sum([int(digit) for digit in str(a ** b)]) if num > ans: ans = num return ans if __name__ == "__main__": print(f"Result for Problem 56: {compute()}")