Code: Select all
#include <math.h>
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
double b, h, r0, tau, m, res;
scanf("%lf %lf", &b, &h);
b /= 2;
r0 = 2*b*h / (b + sqrt(b*b + h*h));
if (r0 >= 0.000001)
{
tau = 1 - r0/h;
m = floor((log(0.000001) - log(r0)) / log(tau));
res = h - r0 * exp(m * log(tau)) / (1 - tau);
}
else
res = 0;
if (i > 0) printf("\n");
printf("%13.6f\n", res*M_PI);
}
return 0;
}