Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
14
Task/Factorial/Clay/factorial-1.clay
Normal file
14
Task/Factorial/Clay/factorial-1.clay
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
factorialRec(n) {
|
||||
if (n == 0) return 1;
|
||||
return n * factorialRec(n - 1);
|
||||
}
|
||||
|
||||
factorialIter(n) {
|
||||
for (i in range(1, n))
|
||||
n *= i;
|
||||
return n;
|
||||
}
|
||||
|
||||
factorialFold(n) {
|
||||
return reduce(multiply, 1, range(1, n + 1));
|
||||
}
|
||||
2
Task/Factorial/Clay/factorial-2.clay
Normal file
2
Task/Factorial/Clay/factorial-2.clay
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[n|n > 0] factorialStatic(static n) = n * factorialStatic(static n - 1);
|
||||
overload factorialStatic(static 0) = 1;
|
||||
4
Task/Factorial/Clay/factorial-3.clay
Normal file
4
Task/Factorial/Clay/factorial-3.clay
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[N|Integer?(N)] factorial(n: N) {
|
||||
if (n == 0) return N(1);
|
||||
return n * factorial(n - 1);
|
||||
}
|
||||
7
Task/Factorial/Clay/factorial-4.clay
Normal file
7
Task/Factorial/Clay/factorial-4.clay
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
main() {
|
||||
println(factorialRec(5)); // 120
|
||||
println(factorialIter(5)); // 120
|
||||
println(factorialFold(5)); // 120
|
||||
println(factorialStatic(static 5)); // 120
|
||||
println(factorial(Int64(20))); // 2432902008176640000
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue