天花乱坠 多边形

这道题目关于多边形的角度的一些性质的挖掘!

题目描述

某年某月某日,琪仔get到了一款十分精美的天花板图案的设计图纸。
图案的框架最初是一个正n边形,之后以它的n条边的中点为顶点构成一个新的正n变形。如此重复多次后,就能得到天花板图案的框架了。
不要问重复多少次,问就是无限重复。。。
给定n,求生成的图案的框架所有边的长度总和(最初正n边形每条边的边长均为100)。

输入描述:

多组测试(不多于100组),每组一行一个整数n( 2 < n <= 100),表示正多边形的边数。

输出描述:

对于每组测试,输出一行一个结果,四舍五入保留两位小数。(请用较为简洁的计算方式,以减少误差)
示例1

输入

3
4
50

输出

600.00
1365.69
2533863.09
数学结论:设一个正n边形的周长为C1=C,若以它的n条边的中点为顶点构造一个新的正n边形,则C2=C1*cos(pi/n),以此类推:Cn+1=Cn*cos(pi/n).
代码实现:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const double pi=acos(-1);//圆周率!
 4 
 5 int main()
 6 {
 7     double n;
 8     while(cin>>n)
 9     {
10         double tot=100.0*n,ans=100.0*n;
11         double du=pi/n;
12         while(tot>=1e-10)
13         {
14             tot*=cos(du);
15             ans+=tot;
16         }
17         printf("%.2f\n",ans);//简短精悍的输出
18     }
19     return 0;
20 }

 

 
posted @ 2019-07-15 18:54  龙龙666666  阅读(364)  评论(0编辑  收藏  举报