刚开始由于溢出tle...
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n&&n!=0)
{
int times=0;
while(n!=1)
{
times++;
if(n%2!=0)
n=n/2+1;
else
n/=2;
}
cout<<times<<endl;
}
return 0;
}
后改为n=n/2+1; AC
另外while(n!=1)最好改为while(n>1)....若为0,内部改为0,陷入死循环!