17 lines
314 B
JavaScript
17 lines
314 B
JavaScript
/** @param {number} i
|
|
* @param {number} n
|
|
* @returns {number} product of i to n
|
|
*/
|
|
export function product(i, n) {
|
|
if (n < i) {
|
|
return 1;
|
|
}
|
|
|
|
if (n === i) {
|
|
return n;
|
|
}
|
|
|
|
var half = n + i >> 1; // divide (n + i) by 2 and truncate to integer
|
|
|
|
return product(i, half) * product(half + 1, n);
|
|
} |