1 /*UVA11300
2 平面几何:
3 正n边形内的最长的线是哪条?
4 归纳推理:
5 举例n=3,4,5,6;n为偶数,因为正对的两个点在分割的圆上,所以最长
6 n为奇数,做顶点到对边的垂线,定点到相对点的连线,因为构成直角三角形,所以斜边大于直角边,得证对顶点连线最长
7 假设最长边长为2*x,则
8 S(n,x)=n*0.5*x*x*sin(2Pi/n);偶数
9 S(n,x) =n*0.5*r*r*sin(2pi/n);奇数
10 r=x/(sin((int)n/2/n*2*pi))
11 ps:想到最长边这个思路很关键
12 */
13 #include<iostream>
14 #include<stdio.h>
15 #include<string.h>
16 #include<algorithm>
17 #include<stdlib.h>
18 #include<cmath>
19 #include<queue>
20 #include<vector>
21 #include<map>
22 #define LL long long
23
24 using namespace std;
25
26 int x,y,x2,y2,n;
27
28 void solve(double x)
29 {
30 if (n%2==0)
31 cout<<n*0.5*x*x*sin(2*M_PI/n)<<endl;
32 else
33 {
34 double r=x/(sin((n/2+0.0)/n*2*M_PI/2));
35 cout<<n*0.5*r*r*sin(2*M_PI/n)<<endl;
36 }
37 }
38 int main()
39 {
40 while(cin>>x>>y>>x2>>y2>>n)
41 {
42 if(n==0) break;
43 double r=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2))/2;
44 solve(r);
45 }
46 return 0;
47 }