使用 JavaScript 查詢從 m 到 n 所需的最小運算元


問題

我們需要編寫一個 JavaScript 函式,該函式將兩個數字 m 和 n 作為第一個和第二個引數。

我們的函式應該計算使用以下兩個操作從 m 到達 n 所需的最小運算元:

  • **加倍** - 將顯示屏上的數字乘以 2;或

  • **遞減** - 從顯示屏上的數字中減去 1。

例如,如果函式的輸入為:

const m = 5;
const n = 8;

那麼輸出應該為:

const output = 8;

輸出解釋

因為操作是:

5 → 4 → 8

示例

程式碼如下:

 線上演示

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

輸出

控制檯輸出將為:

2

更新於:2021年4月9日

108 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告