【菜鸟进阶之路】P5720 【深基4.例4】一尺之棰 - 洛谷

一、题目部分

题目描述
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为a(a≤10^9) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?

输入格式

输出格式

输入输出样例

输入 #1
100
输出 #1
7

二、解题过程

思路
(1)逆向思维,当木棍长度a不为1时,a除2,天数也随之增加;
(2)最后输出的结果是d增加的量+1(也可以在一开始定义天数d为1)。

提交AC答案

#include
using namespace std;
int a,d=1;

int main()
{	
	scanf("%d",&a);
	
	while(a!=1)
	{
		a=a/2;
		d++;
	}
	
	printf("%d",d);
	
	return 0;
}

你可能感兴趣的:(算法学习)