思路:多边形的内角和为(n-2)×180°;则正多边形的内角为(n-2)×180°/n; 求出内角一半的sin值及tan值。进而求出下一次的多边形边长。正多边形的面积和为多边形的周长与边心距离乘积的一半。 边长需要转成double
#include <bits/stdc++.h>
using namespace std;
int T;
const double pi=acos(-1.0);
double n,a,l;
int main()
{
scanf("%d",&T);
while(T--){
scanf("%lf %lf %lf",&n,&a,&l);
double sinn=sin((n-2)*pi/(2*n));
double tann=tan((n-2)*pi/(2*n));
double area=n*a*a*tann/4;
//cout<<sinn<<" "<<tann<<" "<<area<<endl;
int ans=0;
while(area>(double)l){
ans++;
a=a*sinn;
area=n*a*a*tann/4;
}
cout<<ans<<endl;
}
}