def euler_030(): fifth_power_lookup = {str(i): i**5 for i in range(0, 10)} def is_number_sum_of_fiths_powers_of_digits(n): return n == sum([fifth_power_lookup[d] for d in str(n)]) return sum([i for i in range(2, 1000000) if is_number_sum_of_fiths_powers_of_digits(i)]) if __name__ == "__main__": print("e030.py: {}".format(euler_030())) assert(euler_030() == 443839)