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 }