题目描述
已知一个正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; }