题目:

有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%。有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是探测范围。一旦小鱼进入探测器的范围,探测器就会在这一秒结束时把信号传递给那个猎人,猎人在一秒后就要对探测器范围内的水域进行抓捕,这时如果小鱼还在这范围内就危险了。也就是说小鱼一旦进入探测器范围,如果能在下1秒的时间内马上游出探测器的范围,还是安全的。现在给出s和x的数据,请你判断小鱼会不会有危险?如果有危险输出'y',没有危险输出'n'。

输入格式:

一行内输入两个实数,用空格分隔,表示s和x。均不大于100

输出格式:

一行内输出'y'或者'n'表示小鱼是否会有危险。

方法:

其实就是看在某一秒内小鱼的速度v(也就是一秒游过的路程S=1*v)是否大于s+x-l;

#include<iostream>
using namespace std; int main()
{
float s, x;
cin >> s >> x;
float v=, l=;
while (l < s - x)//当小鱼还没有游进探测区域
{
l += v;
v *= 0.98;
}
if (s + x - l >= v)//一秒内小鱼是不是能够游出
cout << "y" << endl;
else
cout << "n" << endl; getchar();
getchar();
return ;
}
05-11 14:56