主要是需要進行判斷,注意特判s<x的情況
#include<iostream>
using namespace std;
double v = 7.0;
double t1,t2;
double dis;
int main()
{
double s,x;cin >>s >> x;
if(s<x)
{
cout << 'y';
return 0;
}
while(dis+v < s-x)
{
dis += v;
v*=0.98;
t1++;
}
if(dis+v >= s+x)
cout << 'n';
else if(dis+v==s-x)
{
if(2*x/(v*0.98) > 1)
cout << 'y';
else
{
cout << 'n';
}
}
else
{
if((s+x-dis-v)/(v*0.98) > 1)
cout << 'y';
else
{
cout << 'n';
}
}
}
大佬
使用微積分衰減方程
就轉換爲方程題