其他分享
首页 > 其他分享> > 问题 K: 蜗牛1534

问题 K: 蜗牛1534

作者:互联网

题目描述

有一只蜗牛在6英尺深的井底,想要爬到顶部。在白天的时候,蜗牛可以往上爬3英尺,但在晚上睡觉的时候,它会往下滑1英尺。蜗牛的疲劳系数为10%,这意味着从第二个白天起,蜗牛都会比第一个白天少上爬10%* 3 = 0.3英尺。(疲劳的距离总是第一天攀爬距离的10%。)蜗牛在哪一天能够离开井,即蜗牛的上爬的总高度超过6英尺的一天是什么时候?(一天包括一段白天,然后是一段黑夜。)从下表可以看出,蜗牛在第三天离开了井。

Day

Initial Height   

Distance Climbed 

Height After Climbing

Height After Sliding

1                                                                               

0'

3'

3'

2'

2                                                                      

2'

2.7'

4.7' 

3.7'

3                                                              

3.7'

2.4'

6.1'

-

        你的工作是解决这个问题。根据问题所给的参数,蜗牛最终要么离开井,要么滑回井底。(换句话说,蜗牛的高度将超过井的高度或者变为负值。)你必须判断出蜗牛是否能够成功离开井,并计算出其离开井或滑回井底的的时间是第几天?

输入

输入包含一个或多个测试用例,每个测试用例都在一行上。 每行包含四个整数H,U,D和F,由单个空格分隔。 如果H = 0,则表示输入结束。所有四个数字将在1到100之间,包括1和100。 H是井的高度(英尺),U是蜗牛在白天可以往上爬的距离(英尺),D是蜗牛在夜间向下滑动的距离(英尺),F是以百分比表示的疲劳系数。 蜗牛永远不会爬上负距离。 如果疲劳因子使蜗牛的攀爬距离降至零以下,那么蜗牛当天就不会攀爬。 无论蜗牛爬到多远,它总是在晚上下滑D英尺。

输出

对于每个测试用例,输出一行指示蜗牛是成功(离开井)还是失败(滑回到井底)以及在哪一天。完全按照示例中所示格式输出。

注意:蜗牛永远不会爬上负距离,则需要语句if(n>=0)sum+=u

样例输入 Copy

<span style="background-color:#ffffff"><span style="color:#333333"><span style="color:#333333"><span style="background-color:#f5f5f5">6 3 1 10
10 2 1 50
50 5 3 14
50 6 4 1
50 6 3 1
1 1 1 1
0 0 0 0
</span></span></span></span>

样例输出 Copy

#include<stdio.h>
int main()
{
	double h,u,d,f;
	while(scanf("%lf%lf%lf%lf",&h,&u,&d,&f)==4)
	{
		if(h==0&&u==0&&d==0&&f==0)break;
		double d1=u*f*0.01;
		int cnt=0,sign;
		double sum=0;
		do
		{
			cnt++;
			if(u>=0)sum+=u;
			if(sum>h)
			{
				sign=1;
				break;
			}
			sum-=d;
			if(sum<0)
			{
				sign=0;
				break;
			}
			u=u-d1;
		}while(1);
		if(sign==1)printf("success on day %d\n",cnt);
		else if(sign==0)printf("failure on day %d\n",cnt);
	}
	return 0;
}

<span style="background-color:#ffffff"><span style="color:#333333"><span style="color:#333333"><span style="background-color:#f5f5f5">success on day 3
failure on day 4
failure on day 7
failure on day 68
success on day 20
failure on day 2</span></span></span></span>

标签:10,sum,英尺,50,问题,1534,蜗牛,day
来源: https://blog.csdn.net/weixin_62109396/article/details/120991533