其他分享
首页 > 其他分享> > WOWO爬水井

WOWO爬水井

作者:互联网

本道题的算法并不难,但要注意理解题目的意思:
PIPI养了一只蜗牛WOWO,有一天WOWO掉到水井中去了,该井深H米,早上爬U米,晚上下滑D米,且它从第二天开始每天疲劳,每天都会比第一天少 F %。(注: 蜗牛每天早上爬的速度不会小于 0)
如果WOWO在第N天还能爬出井底回到PIPI身边,即越过井口,则输出"success on day N"
如果WOWO在第N天落入了井底以下(井底本来有水,WOWO最初始的状况是浮在水面上,所以WOWO如果爬不上去最终会沉入水中),再也不能回到PIPI身边了,则输出"failure on day N"
代码如下:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     long h,u,d,f,g;
 5     while(1)
 6     {
 7     
 8     scanf("%ld%ld%ld%ld",&h,&u,&d,&f);
 9     if(h==0&&u==0&&d==0&&f==0) break;    
10         int i=1;
11         f=u*f;//计算每天疲劳所导致的减少上爬的距离
12         h=h*100;//乘以一百以避免浮点数的运算
13         g=h;//记录初始值
14         u=u*100;
15         d=d*100;
16         
17         while(1)
18         {
19             h=h-u;//早上爬u米
20         if(h<0)//成功爬上水井
21             {
22                 printf("success on day %d\n",i);
23                 break;
24             }
25             u=u-f;
26             if(u<=0)//防止上爬距离变成负数
27             {
28                 u=0;
29             }
30             h=h+d;//晚上下滑距离
31             if(h>g)//在一天末进行是否失败的判断
32             {
33                 printf("failure on day %d\n",i);
34                 break;
35             }
36             i=i+1;//天数加1
37         }
38     }
39     return 0;//养成好习惯,从我做起。
40  }

 

标签:ld%,水井,WOWO,&&,100,PIPI,day
来源: https://www.cnblogs.com/ypha/p/14123684.html