P3152 正整数序列
链接: link.
**题解:**才开始自己找规律,看了题解,确实很有意思,因为每个数字都可以写成二进制,可以每次依次减去分成
2
0
2^0
20 ,
2
1
2^1
21,
2
3
2^3
23…等等.所以,最少次数就会是
n
n
n的二进制位数,
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n==1)cout<<"1"<<endl;
else
{
int ans=0;
while(n)
{
ans++;
n=n/2;
}
cout<<ans<<endl;
}
}