(* Récursive terminale. Exemple d'utilisation : factorielle 5 donne 120 *) let factorielle = let rec loop result = function | 0 -> result | n -> loop (n * result) (n - 1) in loop 1