1 2 3 4 5 6 7 8 9 10 11 12 13 14
let rec fact1 n = match n with 0 -> 1 | n -> n * fact1(n - 1);; print_int (fact1 5);; print_string "\n";; let rec fact2 n = if n < 2 then 1 else n * fact2(n - 1);; print_int (fact2 5);;
1 2
120 120