题目:1072
题目描述
有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口?
输入
输入3个正整数:high、up和down。
输出
输出一个整数,表示天数。输出单独占一行。
样例输入
10 2 1
样例输出
9
提示
循环模拟。注意,不能简单地认为每天上升的高度等于白天向上爬的距离减去夜间下滑的距离,因为若白天能爬出井口,则不必等到晚上。
#include <stdio.h>
int main()
{
int high, up, down; //定义整型变量,high为井的高度,up为白天向上爬的距离,down为夜里下落的距离
int day = 0; //初始化天数为0
scanf("%d %d %d", &high, &up, &down);
while (high > 0) //在循环中,根据青蛙位置的变化,把井的高度high看成一个变量,循环的条件是high大于0
{
high -= up;
day++; //天数加1,high减去白天爬的高度up
if (high <= 0) //如果high小于0,输出天数,退出循环
{
printf("%d", day);
break;
}
high += down; //青蛙每天夜里掉落距离down,对于青蛙来说,相当于井的高度high加上down
}
return 0;
}