HDU-1049 Climbing Worm

来源:互联网 发布:php教程视频教程全集 编辑:程序博客网 时间:2024/06/06 08:53

题目:

description:

An inch worm is at the bottom of a well n inches deep. It has enough energy to climb u inches every minute, but then has to rest a minute before climbing again. During the rest, it slips down d inches. The process of climbing and resting then repeats. How long before the worm climbs out of the well? We’ll always count a portion of a minute as a whole minute and if the worm just reaches the top of the well at the end of its climbing, we’ll assume the worm makes it out.

Input:

There will be multiple problem instances. Each line will contain 3 positive integers n, u and d. These give the values mentioned in the paragraph above. Furthermore, you may assume d < u and n < 100. A value of n = 0 indicates end of output.

Output:

Each input instance should generate a single integer on a line, indicating the number of minutes it takes for the worm to climb out of the well.

Sample Input

10 2 1

20 3 1

0 0 0

Sample Output

17

19

解析:

1. 题目,有一只虫子从井里底像上爬,井深n,每分钟爬d,每次休息一分钟,休息时往下下降u.输入 n d u 输出虫子爬出井的时间

#include<stdio.h>int main(){    int n,u,d,time1,time2,count;    while(scanf("%d %d %d",&n,&u,&d),n+u+d)    {        count=0;        time1=time2=0;        while(count<=n)        {            count=count+u;            time1+=1;//累加向上爬的时间            if(count>=n)break;            count=count-d;            time2+=1;//累加休息的时间        }        printf("%d\n",time1+time2);    }    return 0;}
原创粉丝点击