poj解题报告——2242
2014-11-12 15:27
183 查看
这题就是一道数学题,已知不在一直线上的三点坐标,求这三点所作出的外接圆周长,利用海伦公式以及r=a*b*c/(4*s)即可,或者用余弦定理也可以
代码如下
#include<stdio.h>
#include<math.h>
#define pi 3.141592653589793
void main()
{
double C,r,x1,y1,x2,y2,x3,y3,a,b,c,s,p;
while(scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
{
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
p=(a+b+c)*0.5;
s=sqrt(p*(p-a)*(p-b)*(p-c));
r=a*b*c*0.25/s;
C=2.0*pi*r;
printf("%.2lf\n",C);
}
}
代码如下
#include<stdio.h>
#include<math.h>
#define pi 3.141592653589793
void main()
{
double C,r,x1,y1,x2,y2,x3,y3,a,b,c,s,p;
while(scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
{
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
p=(a+b+c)*0.5;
s=sqrt(p*(p-a)*(p-b)*(p-c));
r=a*b*c*0.25/s;
C=2.0*pi*r;
printf("%.2lf\n",C);
}
}
相关文章推荐
- poj 2152解题报告
- POJ 3723 解题报告
- poj1504解题报告
- poj_1008_Maya Calendar_解题报告
- poj 1182 食物链 解题报告
- POJ - 1837 Balance解题报告
- poj2159解题报告
- POJ - 2352 Stars解题报告(树状数组求二维区域和)
- 2011.11.23 POJ2531解题报告【谨以此文,纪念自己跨过POJ50道题的小里程碑】
- POJ 1797 Heavy Transportation(Dijkstra变形) 解题报告
- poj 1325Machine Schedule解题报告-最小顶点覆盖等于最大匹配数
- LA-3883 & POJ-3518 Prime Gap 解题报告
- POJ1250解题报告补
- POJ1068 解题报告
- POJ 2744 子串 解题报告
- POJ-1142 & HDOJ-1333 Smith Numbers 解题报告
- poj1003 Hangover 解题报告
- POJ 1463 Strategic game (树形DP) 解题报告
- POJ - 2418 Hardwood Species解题报告(trie树的建立以及遍历)
- 解题报告:POJ_1155 TELE 树型DP(树上01背包)