let rec gcd a b = if b = 0 then a else gcd b (a mod b) let lcm a b = a * b / gcd a b let euler5 n = let r = ref 1 in for i = 2 to n do r := lcm !r i done; !r ;; euler5 20