关闭

CodeForces P. Area of a Star(数学)

76人阅读 评论(0) 收藏 举报
分类:
题意:

给出圆形中的一个n角星,求其面积


题解:

只需要求出黄色三角形的面积,首先可以求出三个角的值,正弦定理可以得到三边长度,面积公式求面积,最后乘上2n即可。

#include<stdio.h>
#include<math.h>
#define pi acos(-1.0)
int main()
{
    double n,r;
    while(~scanf("%lf%lf",&n,&r))
    {
        double A,B,C,a,c,s;//大写为角,小写为边
        A=pi/(2.0*n);//最小的角
        B=2*A;//次小的角
        C=pi-A-B;//最大角
        c=r;//最长边
        a=c*sin(A)/sin(C);//正弦定理求出最短的边
        s=0.5*a*r*sin(B);//黄色三角形的面积
        printf("%.8f\n",2*n*s);
    }
    return 0;
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:98064次
    • 积分:4167
    • 等级:
    • 排名:第7366名
    • 原创:306篇
    • 转载:187篇
    • 译文:0篇
    • 评论:1条
    最新评论