Problem 30

http://projecteuler.net/index.php?section=problems&id=30

数の各ケタを4乗してその合計を足した数が、元の数と同じになるものは、
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)。(1とか100は除く)。

では5乗した場合、元の数と同じになる数の合計は?

import Data.Char (digitToInt)

main = print $ sum $ filter f $ [2..(9^5 * 5)]
    where f i = i == (sum $ map (^ 5) $ digits i)
          digits i = map digitToInt $ show i