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)