#= Created on 25 Aug 2021 @author: David Doblas Jiménez @email: daviddoji@pm.me Solution for Problem 30 of Project Euler https://projecteuler.net/problem=30 =# using BenchmarkTools function power_digit_sum(pow, n) s = 0 while n > 0 (n, r) = divrem(n, 10) s += r^pow end return s end function Problem30() #= Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits: 1634 = 1^4 + 6^4 + 3^4 + 4^4 8208 = 8^4 + 2^4 + 0^4 + 8^4 9474 = 9^4 + 4^4 + 7^4 + 4^4 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. =# ans = sum(i for i in 2:1_000_000 if i == power_digit_sum(5, i)) return ans end println("Time to evaluate Problem $(lpad(30, 3, "0")):") @btime Problem30() println("") println("Result for Problem $(lpad(30, 3, "0")): ", Problem30())