一开始我是用Python这么写的:
import math as m
a = int (input ())
t = 0
while a != 1:
if a == 1:
break
a = m.ceil (a / 2)
t += 1
print (t)
然后在Python 3.6软件内测试都可以,但是到洛谷中题目就过不去,测试点数据是:
输入:1;
输出:1;
接下来我换了C++,以为"return 0"可以拯救一下我在Python中出错的break:
#include <iostream>
using namespace std;
int main ()
{
/*
import math as m
a = int (input ())
t = 0
while a != 1:
if a == 1:
break
a = m.ceil (a / 2)
t += 1
print (t)
*/
int a,t = 0;
cin>>a;
if (a == 1)
{
cout<<"0";
return 0;
}
while (a != 1)
{
a /= 2;
t += 1;
}
cout<<t + 1;
return 0;
}
(那一段注释是我尝试翻译时添上去参考的)
结果,还是过不了呜呜呜(测试点数据是:
输入:1;
输出:1;)
我不想要题解,只想知道我自己的错在哪里了呜呜呜