当前位置: 代码迷 >> 综合 >> NOWCODER 天花乱坠(三角函数)
  详细解决方案

NOWCODER 天花乱坠(三角函数)

热度:24   发布时间:2024-02-02 07:58:00.0

链接: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;}
}
  相关解决方案