使用 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
廣告