计算几何
看懂题目很重要
我的前两种理解都是错的
只有高线上有不断的圆
并且注意R不能小于eps
所以直接h*PI会大那么一点,,,,
模拟就好了
变化h就可以循环了
最近有点爱用do_while了...
今天用了两次...之前基本没用过=.=
%13lf的写法学习了,是在discuss里面看到的
1WA格式(回车)
1Y
#include<stdio.h>
#include<math.h>
#define PI M_PI
#define eps 0.000001
int main(){
double b,h;
int t;
scanf("%d",&t);
while(t--){
double b,h;
double A;
scanf("%lf%lf",&b,&h);
double B=atan( (b/2)/h );
double R=0,res=0;
do{
res+=2*R;
R=h*sin(B)/(1+sin(B));
h-=2*R;
}while(R>eps);
printf("%13lf\n",PI*res);
if(t)printf("\n");
}
return 0;
}
本文探讨了计算几何中的圆与高度之间的关系,通过实例分析了如何利用圆的性质来解决问题。文中详细介绍了如何避免常见错误,并使用do_while循环进行有效模拟。
850

被折叠的 条评论
为什么被折叠?



