题解 P3152 【正整数序列】

· · 题解

蛤,其实不用log就行的

模拟一下就好

把n如果是奇数就-1除2;偶数直接除2;

这样的操作次数,奏是结果~(≧▽≦)/~啦啦啦;

#include<stdio.h>
using namespace std;
int n;int res=0;
void divide(int x)
{
    if(x==0)return;
    res++;
    if(x%2==1)x-=1;
    x/=2;
    divide(x);
}
int main()
{
    scanf("%d",&n);
    divide(n);
    printf("%d",res);
    return 0;
}