题目描述
有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口?
输入:输入3个正整数:high、up和down。
输出:输出一个整数,表示天数。输出单独占一行。
样例输入 Copy
10 2 1
样例输出 Copy
9
提示:循环模拟。注意,不能简单地认为每天上升的高度等于白天向上爬的距离减去夜间下滑的距离,因为若白天能爬出井口,则不必等到晚上。
因此我们需要白天爬完后就拿爬的总深度和井的深度进行比较。
程序代码
#include<stdio.h>
int main(){
int high,up,down,day,sum=0;
scanf("%d%d%d",&high,&up,&down);
for(day=1;;day++){
sum+=up;//白天爬的
if(sum>=high){//如果爬的总数超过井的总深则跳出循环
break;
}
sum-=down;//晚上下滑后,爬的深度总数
}
printf("%d",day);
return 0;
}