【链接】
http://codeforces.com/problemset/problem/1037/A
【题意】
分最少的堆,使得1-n的数都可由堆组合表示
【思路】
显然等比能够表示的长度更大,求二进制长度
【代码】
#include<bits./stdc++.h>
using namespace std;
int main() {
int n;
scanf("%d", &n);
int cnt =0;
while (n) {
n /= 2;
cnt++;
}
printf("%d\n", cnt);
}