RosettaCodeData/Task/Factorial/OCaml/factorial-4.ocaml
2018-06-22 20:57:24 +00:00

12 lines
277 B
Text

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