Solution to problem 56
This commit is contained in:
parent
94eab8036c
commit
f2d9dbfcd2
38
src/Python/Problem056.py
Normal file
38
src/Python/Problem056.py
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#!/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()}")
|
Loading…
x
Reference in New Issue
Block a user