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
廣告
資料結構
網路
關係型資料庫
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP