The Snail
杭电1302
题意:一个蜗牛在某容器的底部,容器高度为h,蜗牛每次白天行走的距离逐渐减小,减小系数为f;第一天白天爬行的距离为u,以后每次白天爬行的距离都减小原来的u*f/100.0,蜗牛夜间休息会滑落d,最后看看蜗牛是否能爬到顶部;成功失败都输出所需的天数。
View Code
1 #include<stdio.h> 2 int main() 3 { 4 float i,h,u,d,f,a,b; 5 int day; 6 scanf("%f%f%f%f",&h,&u,&d,&f); 7 while(h) 8 { 9 day=1; 10 a=u; 11 b=u; 12 while(a>=0&&a<=h) 13 { 14 a=a-d;//第一天晚上休息后,离底部的高度 15 if(a<0) 16 break; 17 b-=f*u/100.0;//下一天蜗牛一天可以爬行的距离 18 b=(b>=0?b:0); 19 a+=b; 20 day++; 21 } 22 if(a<0) 23 printf("failure "); 24 else 25 printf("success "); 26 printf("on day %d\n",day); 27 scanf("%f%f%f%f",&h,&u,&d,&f); 28 } 29 return 0; 30 }