JavaScript 中一个数字的 n 个连续数字的最大乘积

我们需要编写一个 JavaScript 函数,它接受两个数字作为第一个和第二个参数,让我们称它们为 m 和 n。

第一个数字通常是一个多位数的数字,第二个数字总是小于第一个数字的位数。

该函数应从 m 中找出乘积最大的 n 个连续数字组。

例如 -

如果输入数字是 -

const m = 65467586;

const n = 3;

那么输出应该是 -

const output = 280;

因为 7 * 5 * 8 = 280 并且它是这个数字中最大的连续三位数乘积

示例

以下是代码 -

const m = 65467586;

const n = 3;

const largestProductOfContinuousDigits = (m, n) => {

   const str = String(m);

   if(n > str.length){

      return 0;

   };

   let max = -Infinity;

   let temp = 1;

   for(let i = 0; i < n; i++){

      temp *= +(str[i]);

   };

   max = temp;

   for(i = 0; i <str.length- n; i++){

      temp = (temp / (+str[i])) * (+str[i + n]);

      max = Math.max(temp, max);

   };

   return max;

}

console.log(largestProductOfContinuousDigits(m, n));

输出结果

以下是控制台输出 -

280

以上是 JavaScript 中一个数字的 n 个连续数字的最大乘积 的全部内容, 来源链接: utcz.com/z/357392.html

回到顶部