就是(2^i)划分,直接算就行了。
#include <cstdio>
using namespace std;
int n, m, ans;
int main()
{
scanf("%d", &n)
ans=0; m=1;
while (n>0) {
ans++;
n-=m;
m<<=1;
}
printf("%d
", ans);
}
就是(2^i)划分,直接算就行了。
#include <cstdio>
using namespace std;
int n, m, ans;
int main()
{
scanf("%d", &n)
ans=0; m=1;
while (n>0) {
ans++;
n-=m;
m<<=1;
}
printf("%d
", ans);
}