题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1984
| input | output |
|---|---|
2 |
2 |
题意:
求一个大圆能包含n个半径为一的小圆的最小半径!
PS:
把每个小圆的圆心连起来就是一个正n多边形,就是求多边形中心到顶点的距离,再加上一个小圆的半径1,就好了,画图就明白了!
代码如下:
#include <cstdio>
#include <cmath>
#define PI acos(-1.0)
int main()
{
int n;
while(~scanf("%d",&n))
{
if(n == 1)
{
printf("1\n");
continue;
}
double ans = 1.0/(sin(PI*1.0/n));
ans += 1;
printf("%.6lf\n",ans);
}
return 0;
}原文:http://blog.csdn.net/u012860063/article/details/44256749