题目链接:点击打开链接
题目描述
薯片这次又遇到问题了==
薯片有n个薯条棒,第i个薯条棒的长度为i,由于薯片能瞬间移动,所以薯片能在1秒内从这n个薯条棒里面选择一个或者多个,吃掉同样长的一部分,
并且被吃掉部分的长度是正整数,问薯片至少多少时间能把这n个薯条棒都吃完?
输入
多组数据输入,每组数据第一行输入一个n(1<=n<=109).
输出
对于每组数据,输出最短的时间.
样例输入
3
4
样例输出
2
3
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n;
int main()
{
while(~scanf("%d",&n))
{
int ans=0;
while(n)
{
n>>=1;
ans++;
}
printf("%d\n",ans);
}
return 0;
}