hdu 1049

题目:

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.
 题意:
注意:每次休息时间就要增加1,这个不能忘记
每分钟怕u,这样一加有可能超出总长,一定中间加上判断

#include<stdio.h>

int main()
{
int n,u,d,sum;
while(scanf("%d%d%d",&n,&u,&d),n+u+d)
{
int i;sum=0;
for(i=0;i<=n;)
{
i+=u;
           sum++;
            if(i>=n) break;
  i=i-d,sum++;//休息的时间
}
printf("%d\n",sum);
}
return 0;

}


解题者:杨聪颖

解题时间:2014-9-27

题目描述:有个虫子,从n深处向上爬,每次爬u就要休息一分钟,休息这一分钟会滑下d,求最后爬上来需要多长时间,

解题思路:利用for循环进行循环相加,累计计算

难点:容易忽略休息一分钟时,每次要加上那一分钟

关键点:for循环的利用

体会:题目不难,但马虎时容易出错

备注:中间一次的if判断不能忘记,否则会出现重复,回出现多加

 

源代码

#include<stdio.h>

int main()
{
int n,u,d,sum;
while(scanf("%d%d%d",&n,&u,&d),n+u+d)
{
int i;sum=0;
for(i=0;i<=n;)
{
i+=u;
           sum++;
            if(i>=n) break;
  i=i-d,sum++;//休息的时间
}
printf("%d\n",sum);
}
return 0;

}


代码详细注释

/*

解题者:杨聪颖

解题时间:2014-9-27

题目描述:有个虫子,从n深处向上爬,每次爬u就要休息一分钟,休息这一分钟会滑下d,求最后爬上来需要多长时间,

编程环境:vc6.0

解题思路:利用for循环进行循环相加,累计计算

难点

关键点

备注*/

 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋葱ycy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值