Description
![Problem illustration](https://i-blog.csdnimg.cn/blog_migrate/350abfed1a869f1b0dba65e1982b10c1.jpeg)
Every year students of our university participate in Regional Contest in Saint Petersburg. Train journeys from Yekaterinburg to Saint Petersburg make students very thirsty, so they usually take a lot of drinks with them. But the director of Institute of Mathematics and Computer Sciences doesn’t like when students carry all these bottles. So the students try to hide their bottles from the director. The Psych Up team invented a special device for that: a dummy guy.
The very first journey showed that the dummy guy can hardly hide two bottles. So you have decided to make a new dummy guy. You have
n bottles that can be considered as cylinders of a unit radius. At first you want to draw a circle and place all your bottles inside it so that each of the bottle bottoms touches the circle. What is the minimum radius of such circle?
Input
The only line contains an integer
n that is the number of bottles (1 ≤
n ≤ 10).
Output
Output the minimum radius of a circle with an absolute or relative error not exceeding 10
−6.
Sample Input
input | output |
---|---|
2 | 2 |
const double PI = acos(-1.0); int main() { //freopen("in.txt","r",stdin); int n; while(cin>>n) { if(n == 1) { cout<<1<<endl; continue; } if(n == 2) { cout<<2<<endl; continue; } double angle = (PI - (2*PI/n))/2; //printf("%.8lf\n", acos(angle)); double ans = 1.0/cos(angle) + 1; printf("%.8lf\n",ans); } return 0; }