在 JavaScript 中查找从 m 到达 n 所需的最少操作数
javascriptweb developmentfront end technology
问题
我们需要编写一个 JavaScript 函数,该函数接受两个数字 m 和 n,作为第一个和第二个参数。
我们的函数应该计算从 m 到达 n 所需的最少操作数,仅使用这两个操作 −
Double − 将显示屏上的数字乘以 2,或;
Decrement − 从显示屏上的数字中减去 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