力扣链接:1342. 将数字变成 0 的操作次数
给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。
解题思路:1.模拟大法好;
2.判定奇偶数;
3.输出判据num == 0;
4.over;
class Solution {
public:
int n = 0;
int numberOfSteps(int num) {
if(num == 0)
{
return n;
}
n++;
if(num % 2 == 0)
{
numberOfSteps(num / 2);
}
else
{
numberOfSteps(num - 1);
}
return n;
}
};
力扣结果展示:



