XidianOJ 1021 A Simple Math Problem

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

题目描述

已知一个正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
",Cal(n,a));
    }
    return 0;
}
 
原文地址:https://www.cnblogs.com/ToTOrz/p/6065626.html