39 lines
876 B
Python
39 lines
876 B
Python
#!/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()}")
|