链接:https://ac.nowcoder.com/acm/problem/50060
来源:牛客网
题意:
给定n,求生成的图案的框架所有边的长度总和(最初正n边形每条边的边长均为100)。
题解:
小技巧: π=acos(-1)
多边形的内角和为: π*(n-2),每个内角为 π*(n-2)/n
最后注意一下精度,当l<1e9的时候,我们就忽略不计了,输出保留两位小数。
AC代码:
#include<bits/stdc++.h>
using namespace std;
const double pi=acos(-1);
int n;
int main() {while(cin>>n) {double ans = n*100*1.0,l=100.0,angle=pi*(n-2)/n;while(l>1e-9) {l = l*sin(angle/2);ans += l*n;}cout<<fixed<<setprecision(2)<<ans<<endl;}
}