AoC2019/day1.hs
2019-12-05 08:29:13 +01:00

18 lines
417 B
Haskell

main = do
content <- getContents
putStrLn (show $ foldl getOp 0 (lines content))
getOp :: Int -> String -> Int
getOp acc number = acc + (math (read number)) + getFuel 0 (math(read number))
getFuel :: Int -> Int -> Int
getFuel acc fuel = do
if (math fuel) > 0
then acc + (math fuel) + getFuel acc (math fuel)
else
acc
math :: Int -> Int
math input = ((input `div` 3) - 2)