Problem 14 その1

http://projecteuler.net/index.php?section=problems&id=14

コラッツ予想。1〜1,000,000 の数の中で1に収束するまでの遷移数が一番多い数は?

collatz = 1 : [1 + collatz !! ((f i) - 1) | i <- [2..]]
    where f i | even i    = i `div` 2
              | otherwise = 3 * i + 1

これでは、 !! のコストが O(n) なんで効率が悪すぎる。n番目を見つけるために O(n^2) くらいかかりそ。
いつぞやの LL の課題だとうまいことずらしてた気がするな。でもあれ、問題は100の遷移数だったな。
今回のとは規模が違いすぎるかも。