本文主要是介绍Uva375,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
等腰三角形的内切圆,再在内切圆的基础上做内切圆,此内切圆圆前一个内切圆相切,以此类推,直到内切圆的半径达到所要的精度!
#include<stdio.h>
#include<math.h>
const double pi=4.0*atan(1.0);
int main()
{
double H,B,a,b,r,n;
scanf("%lf\n",&n);
while(n--)
{
scanf("%lf%lf\n",&B,&H);
double sum=0;
b=B/2;
a=sqrt(H*H+b*b);
r=(B*H)/(B+2*a);
while(r>=0.000001)
{
sum=sum+2*pi*r;
B=B*(H-2*r)/H;
H=H-2*r;
b=B/2;
a=sqrt(H*H+b*b);
r=(B*H)/(B+2*a);
}
printf("%13.6lf\n",sum);
if(n) printf("\n");
}
return 0;
}
这篇关于Uva375的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!