Заданы площадь кольца и радиус внешней окружности. Определить радиус внутренней окружности.
Входные данные
В одной строке заданы два вещественных числа: площадь кольца и радиус внешней окружности, величина которой не превышает $100$.
Выходные данные
Вывести радиус внутренней окружности с 2 десятичными знаками.
TESTS
|
|
$R_2$ |
---|---|---|
50.2655 | 5 | 3.00 |
45 | 8 | 7.05 |
73.07 | 7.7 | 6.00 |
83.5 | 34 | 33.61 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> #include <cmath> #include <iomanip> using namespace std; int main(){ double S, SR, Sr, R, r; double Pi = double(M_PI); cin >> S >> R; SR = Pi * R * R; Sr= SR - S; r=sqrt(Sr/Pi); cout<<fixed<<setprecision(2)<<r; return 0; } |
Решение
По-сути, данная задача уровня 8 класса, но так как не все начали учить геометрию сразу, и не все посещают субботние лекции, то придётся напомнить, что площадь круга вычисляется по формуле $$S = \pi\times R^2$$
С клавиатуры вводится площадь кольца $S$ и радиус большей окружности $R_1$
Зная значение радиуса большей окружности, можно найти площадь большего круга $SR = \pi\times R_1^2$
Зная, что площадь малого круга и площадь кольца образуют площадь большого круга, найдём площадь малого круга $S_r= S_R — S$
Далее находим радиус малой окружности $R_2$ по формуле $R_2=\sqrt{\frac{S_r}{\pi}}$
Затем нужно вывести ответ с точностью до сотых. Для этого воспользуемся функцией
setprecision и её аргументом
fixed .
1 |
cout<<fixed<<setprecision(2)<<r; |
Сcылки
Ссылка на задачу в e-olymp
Код решения задачи
Я не уверена, что перед ретурном нужна пустая строка. И отметь, пожалуйста, в таблице, где входные, где выходные данные.
Работу засчитываю, но уточните как правильно называются fixed и setprecision (см. здесь.) И уберите символы кириллицы из постоянной ссылки.
Кстати! Не обязательно обозначать умножение крестиком в формуле площади круга. Скорее его там принято опускать. Но можно и оставить.