http://projecteuler.net/index.php?section=problems&id=71
分数を使ってみた。Haskellでの分数の使い方はこんな感じ。
import Ratio a = 2 % 4 -- 1 % 2 n = numerator a -- 1 d = denominator a -- 2 b = 1 / a -- 2 % 1
分母は最後の7つだけ調べればよい。
import Ratio nearest_frac a b d = (div (d * a - 1) b) % d n = 10^6 main = print (numerator (foldr max 0 (map (nearest_frac 3 7) [n-6..n])))