Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,3 @@
let rec factorial n =
if n <= 0 then 1
else n * factorial (n-1)

View file

@ -0,0 +1,5 @@
let factorial n =
let rec loop i accum =
if i > n then accum
else loop (i + 1) (accum * i)
in loop 1 1

View file

@ -0,0 +1,6 @@
let factorial n =
let result = ref 1 in
for i = 1 to n do
result := !result * i
done;
!result

View file

@ -0,0 +1,12 @@
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