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

Tìm số thao tác bắt buộc tối thiểu để đạt được n từ m trong JavaScript

Vấn đề

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

Hàm của chúng ta phải đếm số phép toán tối thiểu cần thiết để đạt được n từ m, chỉ sử dụng hai phép toán này -

  • Đôi - Nhân số trên màn hình với 2 hoặc;

  • Giảm dần - Trừ 1 cho số trên màn hình.

Ví dụ:nếu đầu vào của hàm là -

const m = 5;
const n = 8;

Sau đó, kết quả đầu ra phải là -

const output = 8;

Giải thích đầu ra:

Bởi vì các hoạt động -

5 → 4 → 8

Ví dụ

Mã cho điều này sẽ là -

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

Và đầu ra trong bảng điều khiển sẽ là -

2