From f2d9dbfcd21164a8ad7b6fb81738c4e9593b0d28 Mon Sep 17 00:00:00 2001 From: daviddoji Date: Thu, 7 Oct 2021 20:10:38 +0200 Subject: [PATCH] Solution to problem 56 --- src/Python/Problem056.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/Python/Problem056.py diff --git a/src/Python/Problem056.py b/src/Python/Problem056.py new file mode 100644 index 0000000..d7d8429 --- /dev/null +++ b/src/Python/Problem056.py @@ -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()}") \ No newline at end of file