很古老的蜗牛爬井问题,没什么好说的,深n米,每天上升u米,休息时候下降d米,单工双休模式。
我用的是循环求解,一步一步硬推出来,这方法很笨,可是很好用,也有人使用公式法(手算、化简然后代码实现),因为我求快,所以没有使用公式法,代码如下:
#include<stdio.h>
int fun(int n,int u,int d,int i)
{
if(n==0)
return i;
//如果下一步小于等于u,则n+1输出
if(n<=u)
return (i+1);
//如果下一步大于u ,总时间+2,n进行下一个循环
return fun(n-(u-d),u,d,i+2);
}
int main()
{
int n,u,d;
while(scanf("%d %d %d",&n,&u,&d)!=EOF)
{
if(n==0)
break;
printf("%d\n",fun(n,u,d,0));
}
return 0;
}