我们需要编写一个 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