Chinaunix首页 | 论坛 | 博客
  • 博客访问: 523941
  • 博文数量: 118
  • 博客积分: 10028
  • 博客等级: 上将
  • 技术积分: 1820
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-07 18:46
文章分类

全部博文(118)

文章存档

2009年(12)

2008年(106)

我的朋友

分类: C/C++

2008-06-01 14:10:00

问题背景

如图,一个半径为1的圆周上有5个点。按角度制给出5个点的极角Ai (0<=Ai<360, i=1..5)。按下图的方法连成一个五角星, 计算圆被切割成的11个部分面积的方差。


具体地说, 假定11个区域的面积分别为S1,S2, ..., S11,那么面积的均值计算方法为:
M = (S1+S2+...+S11 ) / 11

面积的方差计算方法为:
D = ((S1-M)2 + (S2-M)2 + ... + (S11-M)2) / 11

输入格式

输入仅一行,包含5个[0,359]内的互不相等的整数。

输出格式

输出仅一行,包含一个实数,即各部分面积的方差。输出保留小数点后4位。

样例输入

0 144 72 288 216

样例输出

0.0647

阅读(2278) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

zuii2008-06-05 23:43:23

LS厉害~~ 几何方面的我直接放弃,呵呵~~ 算法方面还可以做一下。

weolar2008-06-04 00:02:10

#include #include #include #define Pi 3.1415926535898 //两线段交点 void GetCrossPoint(double *x, double *y, double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) //四点交点坐标 { //1 3 一条直线,2,4一条 double x_,y_; /* if (x1==x3) { x_=x1; y_=(x1-x4)*(y2-y4)/(x2-x4)+y4; } if (x1==x3) { x_=x2; y_=(x2-x1)*(y3-y1)/(x3-x1)+y1; } else { x_ = ((y1 - y2) - x1 *(y3 - y1) / (x3 - x1) + x2 *(y4 -