Problem 14
Problem 14はいわゆる「コラッツの問題」ってやつです。
import Data.List (maximumBy) import Data.Ord (comparing) collatz 1 a = a collatz n a | even n = collatz (n `div` 2) (a + 1) | otherwise = collatz (3*n + 1) (a + 1) main = print $ maximumBy (comparing snd) [(x, collatz x 1) | x <- [2 .. 1000000]]
こんな感じですか。