Computer >> Máy Tính >  >> Lập trình >> Javascript

Tích lớn nhất của n chữ số liền nhau của một số trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có hai số làm đối số thứ nhất và thứ hai, chúng ta hãy gọi chúng là m và n.

Số đầu tiên nói chung sẽ là một số có nhiều chữ số và số thứ hai sẽ luôn nhỏ hơn số chữ số trong số đầu tiên.

Hàm cần tìm nhóm gồm n chữ số liên tiếp từ m có tích lớn nhất.

Ví dụ -

Nếu các số đầu vào là -

const m = 65467586;
const n = 3;

Sau đó, đầu ra phải là -

const output = 280;

bởi vì 7 * 5 * 8 =280 và nó là tích lớn nhất có ba chữ số liên tiếp trong số này

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

280