99.999024
数学题,WA了几发,再次提醒,结果要求什么,就最好用其进行二分,
不然会卡在精度上。。。
#include
#include
#include
using namespace std;
#define PI acos(-1.0)double r,R,H,V;
double a;
inline double f(double h)
{return(a*a/3*PI*h*h*h+PI*a*r*h*h+PI*r*r*h);
}int main()
{int t;double left,right;double mid;scanf("%d",&t);while(t--){scanf("%lf%lf%lf%lf",&r,&R,&H,&V);a=(R-r)/H;left=0;right=H;while(right-left>1e-7){mid=(left+right)/2;if(f(mid)>V) right=mid;else left=mid;}printf("%.6f\n",mid);}return 0;
}