Climbing Worm

1004 Climbing Worm

题目:

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;
}