product.js 411 B

1234567891011121314151617181920
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.product = product;
  6. /** @param {number} i
  7. * @param {number} n
  8. * @returns {number} product of i to n
  9. */
  10. function product(i, n) {
  11. if (n < i) {
  12. return 1;
  13. }
  14. if (n === i) {
  15. return n;
  16. }
  17. var half = n + i >> 1; // divide (n + i) by 2 and truncate to integer
  18. return product(i, half) * product(half + 1, n);
  19. }