题意:
一直蜗牛想爬出深度度为h的井,白天向上爬u米,晚上下降d米,还有一个就是第二天向上爬的距离为减少F%,第三天又减少F%,u至少为零,不会变成负数。当蜗牛爬出井口或者滑到井底就输出当时的天数。
注意:刚好到井口或者刚好到井底是不算的。
思路:
模拟蜗牛的爬行。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double h,u,d,f;
while(scanf("%lf%lf%lf%lf",&h,&u,&d,&f)&&h&&d&&u&&f){
double now=0,te=u*(f/100);
int flag,day=0;
while(1){
day++;
now+=u;//白天
if(now>h) {
flag=1;
break;
}
now-=d;
if(now<0) {
flag=0;
break;
}
u-=te;//晚上
if(u<=0) u=0;
}
if(flag) printf("success on day %d\n",day);
else printf("failure on day %d\n",day);
}
return 0;
}
\