BZOJ 1192

就是(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);
}
原文地址:https://www.cnblogs.com/yearwhk/p/5131370.html