一、题目部分
题目描述
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为a(a≤10^9) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?
输入格式
无
输出格式
无
输入输出样例
输入 #1
100
输出 #1
7
二、解题过程
思路
(1)逆向思维,当木棍长度a不为1时,a除2,天数也随之增加;
(2)最后输出的结果是d增加的量+1(也可以在一开始定义天数d为1)。
提交AC答案
#include<bits/stdc++.h>
using namespace std;
int a,d=1;
int main()
{
scanf("%d",&a);
while(a!=1)
{
a=a/2;
d++;
}
printf("%d",d);
return 0;
}