let catalan n = let t = Array.make (n+1) 0 in t.(0) <- 1; for i=1 to n do for k=0 to i-1 do t.(i) <- (t.(k)*t.(i-1-k)) + t.(i) done done; t.(n);; catalan 5;; let rec est_triee l = match l with | [] -> true | [a] -> true | a::(b::t) -> a<=b && est_triee b::t;;