Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số phép toán tối thiểu để từ m đạt n trong JavaScript

Mô tả vấn đề

Chúng ta cần viết hàm JavaScript nhận vào hai số m và n làm đối số 1, 2. Hàm đếm số phép toán tối thiểu để từ m đạt n, chỉ dùng 2 phép: Double (nhân 2) hoặc Decrement (trừ 1).

Ví dụ, nếu đầu vào là:

const m = 5; 
const n = 8;

Thì đầu ra nên là:

const output = 2;

Giải thích đầu ra

Các phép toán: 5 → 4 → 8 (trừ 1 rồi nhân 2).

Ví dụ minh họa

Mã thực hiện (nghịch từ n về m):

const m = 5; 
const n = 8; 
const findOperations = (m, n) => { 
  let res = 0; 
  while(n > m){ 
    if(n % 2 === 0){ 
      n /= 2; 
    }else{ 
      n += 1; 
    }; 
    res += 1; 
  }; 
  return res + m - n; 
}; 
console.log(findOperations(m, n));

Đầu ra

Kết quả trong console sẽ là:

2