Climbing Worm
1004 Climbing Worm
题目:
题解:
这是一道小学数学题。。。
首先确定他会不会第一次一爬就上去了
然后当他爬到出口的时候一定是n次下滑和n+1次向上爬
以t=2*n为循环,计算他爬行的高度,当所爬距离大于或等于总高度时,成功。
代码:
#include <stdio.h>
int main ()
{
int n,u,d,t,s;
while(scanf("%d %d %d",&n,&u,&d)!=EOF&&(n!=0||u!=0||d!=0))
{
if(u>=n){ //判断能否一次性爬出
printf ("1\n");
continue;}
s=u;
for(t=3;s<n;t=t+2) //以爬一小时,休息一小时为一个循环
{
s=s-d+u;
}
printf ("%d\n",t-2);
}
return 0;
}