(* Hidas tapa. Määritelmän läheinen. *) let rec fib n = match n with 0 -> 1 | 1 -> 1 | _ -> fib (n - 2) + fib (n - 1);; (* Nopea tapa. Lasketaan toisesta suunnasta. *) let fib2 n = if n < 2 then 1 else let rec loop nnow nto n1 n2 = if nnow >= nto then n1 + n2 else loop (nnow + 1) nto (n2 + n1) n1 in loop 2 n 1 1;;