master amadaluzia/rosetta-collatz / ocaml / lib / Collatz.ml
 1let collatz (a : int) : int =
 2    if a mod 2 == 0
 3    then a / 2
 4    else 3 * a + 1
 5
 6let rec collatzSequence' (a : int) : string =
 7    if a == 1
 8    then "1"
 9    else (string_of_int a) ^ ", " ^ collatzSequence' (collatz a)
10
11let collatzSequence (a : int) : string =
12    Printf.sprintf "%d: %s" a (collatzSequence' a)