Another update from ingydotnet^djgoku
This commit is contained in:
parent
91df62d461
commit
948b86eafa
7604 changed files with 108452 additions and 22726 deletions
|
|
@ -1,7 +1,12 @@
|
|||
function factorial(n) {
|
||||
var x = 1;
|
||||
for (var i = 2; i <= n; i++) {
|
||||
x *= i;
|
||||
}
|
||||
return x;
|
||||
//check our edge case
|
||||
if (n < 0) { throw "Number must be non-negative"; }
|
||||
|
||||
var sum = 1;
|
||||
//we skip zero and one since both are 1 and are identity
|
||||
while (n > 1) {
|
||||
sum *= n;
|
||||
n -= 1;
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
function factorial(n) {
|
||||
return n < 2 ? 1 : n * factorial(n - 1);
|
||||
}
|
||||
(function(x) {
|
||||
|
||||
var memo = {};
|
||||
|
||||
function factorial(n) {
|
||||
return n < 2 ? 1 : memo[n] || (memo[n] = n * factorial(n - 1));
|
||||
}
|
||||
|
||||
return factorial(x);
|
||||
|
||||
})(18);
|
||||
|
|
|
|||
|
|
@ -1,8 +1 @@
|
|||
function range(n) {
|
||||
for (let i = 1; i <= n; i++)
|
||||
yield i;
|
||||
}
|
||||
|
||||
function factorial(n) {
|
||||
return [i for (i in range(n))].reduce(function(a, b) a*b, 1);
|
||||
}
|
||||
6402373705728000
|
||||
|
|
|
|||
1
Task/Factorial/JavaScript/factorial-4.js
Normal file
1
Task/Factorial/JavaScript/factorial-4.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
var factorial = n => (n < 2) ? 1 : n * factorial(n - 1);
|
||||
Loading…
Add table
Add a link
Reference in a new issue