diff options
Diffstat (limited to '0008/main.hs')
| -rw-r--r-- | 0008/main.hs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/0008/main.hs b/0008/main.hs new file mode 100644 index 0000000..c852fa7 --- /dev/null +++ b/0008/main.hs @@ -0,0 +1,13 @@ +import Data.Char (digitToInt) +import Data.Maybe (catMaybes) + +findMax13 numbers = + foldl1 max $ map (\i -> subArrayProduct i 13) [0..((length numbers) - 13)] + where + subArrayProduct start length = + product $ take length (drop start numbers) + +main = do + contents <- readFile "input" + let max13 = findMax13 $ map digitToInt $ filter (\c -> c >= '0' && c <= '9') contents in + putStrLn $ show max13 |
