题目就是给你一个等边三角形的底和高,
然后先是做个内切圆,然后在做一个切两腰和之前那个圆的圆。。一直下去直到圆的半径小于特定值时;
模拟就好:
AC代码:
#include<stdio.h>
#include<cmath>
int main () {
double a,aa,b,c,h,hh,p,s,r,rr;
int T ;
scanf("%d",&T);
while (T--) {
scanf("%lf%lf",&a,&h);
hh = h;
b = sqrt(a * a / 4 + h * h);
c = b;
p =a / (a + b + c) ;
r = hh * p;
while(r >= 0.000001) {
hh = hh -2 * r;
r = hh * p;
}
printf("%13.6lf\n",acos(-1)* (h - hh));
if (T)
printf("\n");
}
return 0;
}