薯片这次又遇到问题了== 薯片有n个薯条棒,第i个薯条棒的长度为i,由于薯片能瞬间移动,所以薯片能在1秒内从这n个薯条棒里面选择一个或者多个,吃掉同样长的一部分, 并且被吃掉部分的长度是正整数,问薯片至少多少时间能把这n个薯条棒都吃完?
多组数据输入,每组数据第一行输入一个n(1<=n<=109).
对于每组数据,输出最短的时间.
样例输入 34 样例输出 23 一直选中间值吃,稳稳的 #include<bits/stdc++.h> using namespace std; int main() { int n; while(~scanf("%d",&n)) { int sum=0; while(n) { n /= 2; sum ++; } cout<<sum<<endl; } return 0; }