RosettaCodeData/Task/Factorial/OCaml/factorial-4.ml

13 lines
277 B
OCaml
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
let rec factorial n =
let rec loop acc = function
| 0 -> acc
| n -> loop (Z.mul (Z.of_int n) acc) (n - 1)
in loop Z.one n
let () =
if not !Sys.interactive then
begin
Sys.argv.(1) |> int_of_string |> factorial |> Z.print;
print_newline ()
end