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.
import Data.Char
main :: IO()
main = print $ sum $ map snd $ filter fst resultData
resultData :: [(Bool, Int)]
resultData = map (\x -> (compareDigit $ show x, x)) inputData
compareDigit :: String -> Bool
compareDigit s = s == digitPowerSum s
digitPowerSum :: String -> String
digitPowerSum n = show . sum $ map (\x -> digitToInt x ^5) n
inputData :: [Int]
inputData = [2..6*9^5]
*Main> main
443839
