题目描述
有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口?
输入
输入3个正整数:high、up和down。
输出
输出一个整数,表示天数。输出单独占一行。
样例输入
10 2 1
样例输出
9
注意,不能简单地认为每天上升的高度等于白天向上爬的距离减去夜间下滑的距离,因为若白天能爬出井口,则不必等到晚上。
因此我们解题循环可以从晚上下滑开始
代码如下
#include<stdio.h>
int main()
{
int high,up,down,h,t;//h为青蛙离井口的高度
scanf("%d %d %d",&high,&up,&down);
h = high;
h -= up;//提前计算第一天白天上爬的距离是否能够到井口
t = 1;
while(h>0)//h大于0时,执行循环
{
h = h+down;
h = h-up;
t ++;
}
printf("%d",t);
return 0;
}