Аны натуральное n и вещественные числа x1, y1, x2, y2,…,xn, yn. Рассматривая пары xi, yi как координаты точек на плоскости, определить радиус наименьшего круга (с центром в начале координат), внутрь которого попадают все эти точки. c++

15 Ноя 2020 в 19:42
263 +1
0
Ответы
1

Для решения этой задачи можно воспользоваться следующим алгоритмом:

Найти точку (x, y) с максимальным расстоянием от начала координат. Это будет точка на границе окружности.

Рассчитать расстояние от центра окружности (0, 0) до этой точки. Это и будет радиус искомого круга.

Вот пример кода на C++, реализующего этот алгоритм:

#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cin >> n;
double max_radius = 0.0;
for(int i = 0; i < n; i++){
double x, y;
cin >> x >> y;
double radius = sqrt(x*x + y*y);
if(radius > max_radius){
max_radius = radius;
}
}
cout << "Радиус наименьшего круга: " << max_radius << endl;
return 0;
}

Пример ввода:

4
1 1
2 2
3 3
4 4

Пример вывода:

Радиус наименьшего круга: 5.65685
17 Апр 2024 в 22:04
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир