Description
给定一个边长为 (1) 的正 (2n) 边形,求能容纳它的最小的正方形的边长。
Solution
根据对称性得,在转动 (pi / 4n) 的时候取得极值,容易验证其为最小值。
考虑边长为 (1) 时,弦心距为 (frac {1} {2 sin(pi / 2n)}),于是正方形边长为 (2 frac {cos(pi / 4n)} {2 sin(pi / 2n)}) = $ frac {cos(pi / 4n)} {sin(pi / 2n)}$。
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1000005;
int n;
const double pi = acos(-1);
void solve()
{
cin>>n;
double ans = cos(pi/4/n) / sin(pi/2/n);
printf("%.10lf
",ans);
}
signed main()
{
int t;
cin>>t;
while(t--)
{
solve();
}
}