您的位置:首页 > 其它

UVa - 375 - Inscribed Circles and Isosceles Triangles

2014-05-18 20:03 405 查看
好吧一直以来都对这种几何类型的计算题有种恐惧的感觉,不是题目难而是总觉得算出来的结果要考虑精度什么很麻烦而且总是算不对

这算是好的开始吧有了第一道就有后面的了!

做这道题目时很神奇啊 第一次写的时候交上去WA 对了几组数据发现总是最后两位数不对就怀疑是精度的问题了 然后一不小心没保存就关了IDE 然后就只能重新再写一次,两次写的思路是一模一样的啊谁知道第二次写出来一测数据呀都对了... 好吧,那就应该是第一次写的时候某个变量的乘除写错了吧...

关系不难找(我是用面积找的,角度应该也可以吧还没试过)所以上面废话就多点了...

#include<stdio.h>
#include<math.h>
#define min 0.000001
#define pi acos(-1)

int main()
{
double b,h,r,c,temp_h;
int t;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf",&b,&h);
c=0;
r=b*h/(b+sqrt(b*b+4*h*h));
while(r>=min)
{
c+=2*pi*r;
temp_h=h;
h=h-2*r;
b=(h/temp_h)*b;
r=b*h/(b+sqrt(b*b+4*h*h));
}
printf("%13lf\n",c);
if(t) putchar('\n');
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: