Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
3
Task/Factorial/OCaml/factorial-1.ocaml
Normal file
3
Task/Factorial/OCaml/factorial-1.ocaml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
let rec factorial n =
|
||||
if n <= 0 then 1
|
||||
else n * factorial (n-1)
|
||||
5
Task/Factorial/OCaml/factorial-2.ocaml
Normal file
5
Task/Factorial/OCaml/factorial-2.ocaml
Normal 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
|
||||
6
Task/Factorial/OCaml/factorial-3.ocaml
Normal file
6
Task/Factorial/OCaml/factorial-3.ocaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
let factorial n =
|
||||
let result = ref 1 in
|
||||
for i = 1 to n do
|
||||
result := !result * i
|
||||
done;
|
||||
!result
|
||||
12
Task/Factorial/OCaml/factorial-4.ocaml
Normal file
12
Task/Factorial/OCaml/factorial-4.ocaml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue