一尺之棰
题目描述
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a(<=10^9) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?
输入格式
无
输出格式
无
输入输出样例
输入 #1
100
输出 #1
7
第一遍C语言代码。
时间超限。
#include<stdio.h>
int main()
{
int i;
int sum=0,result=1;
scanf("%d",&sum);
for(i=1;;i++)
{
sum=sum/2;
result++;
if(sum==1)
break;
}
printf("%d\n",result);
}
第二遍C++代码
# include <iostream>
# include <stdio.h>
using namespace std;
int a, ans = 1;
int main () {
scanf ("%d", &a);
while (a > 1) {
ans++;
a /= 2;
}
cout << ans << endl;
return 0;
}
(C语言🙅♂️ C++🙆♂️)
版权声明:本文为Sandwith原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。