Project Euler 8(2)
import Data.List f8 :: Int -> Int f8 0 = 1 f8 x = (f8 $x`div`10) * (x`mod`10) take' :: String -> [Int] take' xs | length xs < 5 = [] | otherwise = (f8.read.take 5 $xs):(take'.drop 5 $xs) euler8 :: String ->Int euler8 xs = maximum.map (maximum.take') $take 5.tails $xs main = readFile "file.txt">>= print.euler8
もっと綺麗に書けないかなあと研究してたけど、もう気がついたら4時だし。
いい加減寝る。
コメントで指摘を頂いたとおりです、
問題を読み違えて居ました。
連続する五文字であれば、開始点はどこからでもいいんですね。