思路: 当角度取45°的时候抛的是最远的
经过推到得到x = v^2/g 然后每一次弹跳都会使动能得到损失,这个动能是不可能到达0的,所以精确到 1e-8就可以了
code:
#include<iostream>
#include<cstdio>
using namespace std;
const double eps = 1e-6;
int main()
{
double ans = 0;
double E = 1000,m,p;
double v;
double g = 9.8;
scanf("%lf %lf",&m,&p);
m /= 100;
p = 1 - p*1.0 / 100;
while(E > eps){
v = 2 * E / m;
ans += v/g;
E = E * p;
}
printf("%.3f\n",ans);
return 0;
}