problem statement digit fifth powers https projecteuler netproblem30 surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits 1634 14 64 34 44 8208 84 24 04 84 9474 94 44 74 44 as 1 14 is not a sum it is not included the sum of these numbers is 1634 8208 9474 19316 find the sum of all the numbers that can be written as the sum of fifth powers of their digits 95 59049 59049 7 413343 which is only 6 digit number so numbers greater than 999999 are rejected and also 59049 3 177147 which exceeds the criteria of number being 3 digit so number 999 and hence a number between 1000 and 1000000 digitsfifthpowerssum1234 1300 digits_fifth_powers_sum 1234 1300
DIGITS_FIFTH_POWER = {str(digit): digit**5 for digit in range(10)}


def digits_fifth_powers_sum(number: int) -> int:
    
    return sum(DIGITS_FIFTH_POWER[digit] for digit in str(number))


def solution() -> int:
    return sum(
        number
        for number in range(1000, 1000000)
        if number == digits_fifth_powers_sum(number)
    )


if __name__ == "__main__":
    print(solution())