mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-28 07:21:07 +00:00
8eab2f17f4
* Solution for Euler 56 * Adding Type and Doctest as per guideline * removing unused import * correcting the way type check works
27 lines
683 B
Python
27 lines
683 B
Python
|
|
|
|
def maximum_digital_sum(a: int, b: int) -> int:
|
|
"""
|
|
Considering natural numbers of the form, a**b, where a, b < 100,
|
|
what is the maximum digital sum?
|
|
:param a:
|
|
:param b:
|
|
:return:
|
|
>>> maximum_digital_sum(10,10)
|
|
45
|
|
|
|
>>> maximum_digital_sum(100,100)
|
|
972
|
|
|
|
>>> maximum_digital_sum(100,200)
|
|
1872
|
|
"""
|
|
|
|
# RETURN the MAXIMUM from the list of SUMs of the list of INT converted from STR of BASE raised to the POWER
|
|
return max([sum([int(x) for x in str(base**power)]) for base in range(a) for power in range(b)])
|
|
|
|
#Tests
|
|
if __name__ == "__main__":
|
|
import doctest
|
|
doctest.testmod()
|