标签:
Input
Output
Sample Input
Sample Output
/*
耐心点推个公式
精度!!!。。。
*/
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const double esp = 1e-9;
const double pi = acos(-1.0);
int T;
double r, R, H, V;
double check(double x)
{
double rr = x/H*(R-r) + r;
// printf("%f\n",rr);
double V1 = pi/3*x*(rr*rr + r*r + rr*r);
return V1;
}
int main()
{
scanf("%d", &T);
while(T--){
scanf("%lf%lf%lf%lf", &r, &R, &H, &V);
// if(r == R) {
// printf("%.6f\n", V/(pi*r*r));
// continue;
//
double ll = 0, rr = 100, mid;
while(rr - ll > esp){
mid = (ll + rr) / 2;
double VV = check(mid);
if(fabs(VV - V) <= esp)
break;
else if(VV > V)
rr = mid - esp;
else ll = mid + esp;
}
printf("%.6f\n", mid);
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/zero-begin/p/4694134.html