28 lines
435 B
JavaScript
28 lines
435 B
JavaScript
(function () {
|
|
'use strict';
|
|
|
|
// factorial :: Int -> Int
|
|
function factorial(x) {
|
|
|
|
return range(1, x)
|
|
.reduce(function (a, b) {
|
|
return a * b;
|
|
}, 1);
|
|
}
|
|
|
|
|
|
|
|
// range :: Int -> Int -> [Int]
|
|
function range(m, n) {
|
|
var a = Array(n - m + 1),
|
|
i = n + 1;
|
|
|
|
while (i-- > m) a[i - m] = i;
|
|
return a;
|
|
}
|
|
|
|
|
|
return factorial(18);
|
|
|
|
})();
|