题目描述
一只1英才长的蠕虫在一口深n英寸的井底。它有足够的力气完成每分钟向上爬u英寸,但必须休息1分钟才能继续爬。在休息的过程中,蠕虫又下滑了d英寸。这样上爬和下滑的过程重复进行着。蠕虫需要多长时间才能爬出井?在此,不足一分钟按一分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。
输入
输入文件包括多组测试数据。每组占一行,为3个正整数n,u,d,其中n是井的深度,u是蠕虫每分钟上爬的距离,d是蠕虫在休息的过程中下滑的距离。假定d< u,n < 100。n=0表示输入数据结束。
输出
对输入文件中的每组测试数据,输出一个整数,表示蠕虫爬出井所需要的时间(分钟,不足1分钟按1分钟计算)。
样例输入 复制
10 2 1
20 3 1
0 0 0
样例输出 复制
17
19
#include<iostream>
using namespace std;
int main()
{
int n;int u;int d;
while(scanf("%d%d%d",&n,&u,&d)!=EOF)
{
int count = 0;int res = 0;
if(n==0)
break;
while(res!=n)
{
res+=u;
count++;
if(res>=n)
break;
else
{
count++;
res=res-d;
continue;
}
}
cout<<count<<endl;
}
return 0;
}