[提交][状态][讨论版]

题目描述

已知一个正n边形,边长为a(浮点数),求面积

输入

输入包含多组数据 第一行输入整数t,表示有t组数据; 接下来t行,每行输入正整数n(3<=n<=200)、小数a(a>0),分别表示正多边形的边数和边长。

输出

输出该正多边形的面积,保留4位小数
--正文
完全是数学问题。
而且评测机不支持M_PI的定义,数据又超刁钻,自己打的Pi又不过,晕
只能用反三角函数来获得Pi了
#include <stdio.h>
#include <math.h>
double Cal(int n,double a){
    return a * a * n / (4 * tan( atan(1)*4 / n));
} 

int main(){
    int t,time;
    scanf("%d",&t);
    for (time=1;time<=t;time++){
        int n; double a; 
        scanf("%d %lf",&n,&a);
        printf("%.4lf\n",Cal(n,a));
    }
    return 0;
}

 

 
posted on 2016-11-15 14:35  Crutain  阅读(227)  评论(0编辑  收藏  举报