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

更新於: 22-Jan-2021

124 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.