版权声明:如果是我原创的文章,请转载时,注明是来自我的转帖,加上我帖子的地址。谢谢! https://blog.csdn.net/mengdicfm/article/details/82963078
题目描述
有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%。有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是探测范围。一旦小鱼进入探测器的范围,探测器就会在这一秒结束时把信号传递给那个猎人,猎人在一秒后就要对探测器范围内的水域进行抓捕,这时如果小鱼还在这范围内就危险了。也就是说小鱼一旦进入探测器范围,如果能在下1秒的时间内马上游出探测器的范围,还是安全的。现在给出s和x的数据,请你判断小鱼会不会有危险?如果有危险输出’y’,没有危险输出’n’。
//感谢黄小U饮品完善题意
输入输出格式
输入格式:
一行内输入两个实数,用空格分隔,表示s和x。均不大于100
输出格式:
一行内输出’y’或者’n’表示小鱼是否会有危险。
输入输出样例
输入样例#1:
14 1
输出样例#1:
n
#include<iostream>
using namespace std;
int main(){
int s,x,t=0;
float longt=0.0,sum=0.0;
cin>>s>>x;
while(t>=0)
{
if(t==1) longt=7;
sum+=longt;
if(sum>=s-x&&sum<=s+x)
{
//下一秒游出危险区域,没有危险,输出n
if(sum+longt*0.98>s+x)
{
cout<<"n"<<endl;
return 0;
}
//下一秒未游出危险区域,有危险,输出y
else
{
cout<<"y"<<endl;
return 0;
}
}
t++;
longt*=0.98;
}
return 0;
}