Add Haskell solution for Problem 30
This commit is contained in:
parent
02d4adc3aa
commit
385ff00e1a
24
Haskell/p030.hs
Normal file
24
Haskell/p030.hs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
-- 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 = 1^4 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 (digitToInt)
|
||||||
|
|
||||||
|
sumNthPowerDigit :: Int -> Int -> Int
|
||||||
|
sumNthPowerDigit p n = sum [ x^p | x <- map digitToInt (show n) ]
|
||||||
|
|
||||||
|
equalsSumNthPowerDigit :: Int -> Int -> Bool
|
||||||
|
equalsSumNthPowerDigit p n = n == sumNthPowerDigit p n
|
||||||
|
|
||||||
|
main = do
|
||||||
|
let result = sum $ filter (equalsSumNthPowerDigit 5) [10..354295]
|
||||||
|
putStrLn $ "Project Euler, Problem 30\n"
|
||||||
|
++ "Answer: " ++ show result
|
Loading…
x
Reference in New Issue
Block a user