(* La suite de Syracuse *)

(* On choisit ici de l'écrire comme une fonction récursive.
   Mais on pouvait tout aussi bien écrire une boucle while. *)

let rec syracuse u =
  print_int u;
  print_newline ();
  if u > 1 then syracuse (if u mod 2 = 0 then u/2 else 3 * u + 1)

let u0 = read_int ()

let () = syracuse u0

This document was generated using caml2html