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