Another update from ingydotnet^djgoku

This commit is contained in:
Ingy döt Net 2015-11-18 06:14:39 +00:00
parent 91df62d461
commit 948b86eafa
7604 changed files with 108452 additions and 22726 deletions

View file

@ -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;
}

View file

@ -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);

View file

@ -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

View file

@ -0,0 +1 @@
var factorial = n => (n < 2) ? 1 : n * factorial(n - 1);