H. Киндер-сюрприз
Имя входного файла: | surprise.in |
Имя выходного файла: | surprise.out |
Ограничение по времени: | 2 s |
Ограничение по памяти: | 256 megabytes |
Говард собирает игрушки из киндер-сюрпризов. В последнее время пластиковые контейнеры в киндер-сюрпризах делают из двух половин таким образом, что можно верхнюю половину одного контейнера соединить с нижней половиной второго. Аналогично можно верхнюю половину второго соединить с нижней половиной третьего и так далее.
Говард соединяет n контейнеров указанным выше образом. При этом последний контейнер он соединяет с первым и получает таким образом кольцо. При взгляде сверху каждый контейнер представляет собой окружность радиуса r, каждые два соседних контейнера касаются друг друга. При этом центры контейнеров-окружностей сами расположены на одной окружности радиуса R.
Говарду интересно, какой радиус кольца R получится, если он соединит n контейнеров радиуса r. Помогите ему в этом.
Формат входного файла
В первой строке входного файла находится два числа – целое число n (3 ≤ n ≤ 106) и вещественное число r (0.01 ≤ r ≤ 100). Число r задано не более чем с двумя знаками после десятичной точки.
Формат выходного файла
Выведите единственное число R – искомый радиус кольца, которое получится у Говарда. Выводите число с шестью знаками после десятичной точки. Ваш ответ будет признан правильным, если его абсолютная или относительная погрешность будет не более 10-4.
Пример:
surprise.in | surprise.out |
---|---|
10 1 | 3.2360679775 |
3 1.57 | 1.8128798453 |
Pascal:
write(x:0:6);C:printf("%.6lf", (double)x);C++:cout.setf(ios::fixed | ios::showpoint); cout.precision(6); cout << x;
Источник: Первенство первокурсника ПетрГУ. Май 2012
Обсудить Отправить решение