Description
给出大圆半径以及其内的小圆个数,求小圆的半径,小圆在大圆中如图放置
Input
多组用例,第一行为用例组数t,每组用例包含一个浮点数表示大圆半径和一个整数表示小圆个数
Output
对于每组用例,输出小圆半径,保留三位小数,每组输出后跟一空行
Sample Input
4
4.0 6
4.0 17
3.14159 100
42 2
Sample Output
Scenario #1:
1.333
Scenario #2:
0.621
Scenario #3:
0.096
Scenario #4:
21.000
Solution
大圆中心A与小圆中心B相连,之后与两个小圆交点相连得到一个垂直三角形,由此可得出关系
Code
#include<stdio.h>
#include<math.h>
#define pi acos((double)-1)
int main()
{
int k,n;
double r;
scanf("%d",&k);
for(int i=1;i<=k;i++)
{
scanf("%lf%d",&r,&n);
printf("Scenario #%d:\n",i);
printf("%.3lf\n\n",(r*sin(pi/n))/(1+sin(pi/n)));
}
return 0;
}