1
0
Fork 0
projecteuler/71.hs

10 lines
328 B
Haskell

import Data.Ratio
closer :: Rational -> Rational -> Rational
closer curr prev = let goal = (3 % 7) in if curr < goal && (goal - curr) < (goal - prev) then curr else prev
closest :: Integer -> Rational
closest bound = foldr closer 0 $ map (\d -> let n = floor (d * 3 % 7) in (n % d)) [8..bound]
main = print $ closest 1000000