牛客网NOIP赛前集训营-普及组(第三场)T1精装题解

初读:乍一看,题目要求我们找出一个圆中的最大的17边形,就知道这是一道数论题,而且出在普及T1,想必思路和代码都不是很长。

我们第一步要讨论出这个17边形是否为正。由题意可得,在一个圆中,多边形如想占到最大的面积,那必然为正多边形,这样才能更圆滑的填充圆形(如果实在不知道你就可以认为普及T1难不成让你算一个非正多边形的面积?)

这时我们首先要知道:正17边形可以由圆心与顶点连线平均分为17个三角形。也就是说,我们只需求出一个三角形的面积,那么问题就解决了。
但是如何求三角形呢?

我们现在引用一个求三角形的公式:如果设一条边为a,另一条边为b,这两边的夹角是c°。那么这个三角形的面积就是:

0.5×r×r×sin(2×π÷17);

因为这个公式目前来看大多数参加此次比赛的同学都没有学过,在此不做过多解释。

下面是代码:

#include<cstdio>
#include<cmath>
using namespace std;
double PI=3.1415926535897932;//定义π
int main()
{
    int r;
    scanf("%d",&r);
    double ans=0.5*r*r*sin(2*PI/17)*17;//计算出一个的面积后乘17
    printf("%.6lf",ans);//输出结果,保留6位
    return 0;
}

另外,祝大家节日快乐!

全部评论
求大家支持
点赞 回复 分享
发布于 2018-09-22 20:41
中秋快乐
点赞 回复 分享
发布于 2018-09-24 17:49
这个求面积的函数我是高一学的。
点赞 回复 分享
发布于 2018-09-26 21:15

相关推荐

神哥不得了:神哥来啦~专业技能的话建议不要前面空那么多,八股的话建议先把高频top 50的八股多巩固几遍,千万不要看那些假高频八股。项目的话,建议换两个高质量的项目上去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务