1404. 将二进制表示减到 1 的步骤数
给你一个以二进制形式表示的数字 s 。请你返回按下述规则将其减少到 1 所需要的步骤数:
如果当前数字为偶数,则将其除以 2 。
如果当前数字为奇数,则将其加上 1 。
题目保证你总是可以按上述规则将测试用例变为 1 。
function numberProcess(num) {
let count = 0;
while (num != 1n) {
if (num % 2n === 0n) {
num /= 2n;
} else {
num += 1n;
}
count++;
}
return count;
}
var numSteps = function (s) {
let num = BigInt('0b' + s);
if (s == 1) {
return 0;
}
let count = numberProcess(num);
return count;
}