Форум сайта python.su
MICROSOFT VISIAL STUDIO)
Помогите, пожалуйста, решить задачу на языке C#.
Условие:
Дано множество точек на плоскости. Можно ли найти окружность с центром координат, на которой лежит наибольшее количество точек данного множества
Отредактировано (Апрель 3, 2007 22:14:08)
Офлайн
что такое окружность с центром координат?
Окружность на которой лежит центр координат?
или центр окружности находится в центре координат?
Офлайн
С центром в начале координат.
Офлайн
самый простой способ - простой перебор, так как каждая точка может принадлежать только одной окружности - соответственно определяем для каждой точки уравнение описывающее окружность проходящую через нее, и определяем сколько точек лежит на этой окружности … вооще я даже самого уравнения окружности уже не помню, не напомнишь?
Офлайн
class Circle
using System;
using System.Collections.Generic;
using System.Text;
namespace Geometry
{
// Наследовать можно только от одного класса!
class Circle : Figure
{
public Circle(double r)
{
base.FigureCount = 1;
base.FigureParams = new double;
base.FigureParams = r;
if (r > 0) base.reality = true;
else base.reality = false;
}
Офлайн
if (r > 0) base.reality = true;
else base.reality = false;
}
public override double Area()
{
return Math.PI*base.FigureParams*base.FigureParams;
}
public override double LengthOfBorder()
{
return 2*Math.PI*base.FigureParams;
}
}
}
Офлайн
это не питон во-первых
во вторых учти, что окружности с одинаковыми радиусами могут лежать в разных плоскостях
Офлайн
Кристина, это же C# , да и к тому же class Circle как-то не при делах в данном коде.
Офлайн
V - мн-во точек (x1,y1) …. (xn,yn)
1 шаг:
r*r=x1*x1+y1*y1
расстояние до 1 точки
2 шаг:
ищем расстояния до всех точек
если совпадает то накручиваем счетчик
3 шаг:
повторяем 1 2 шаг по всем точкам - ишем наибольший счетчик
вышеизложенный алгоритм можно оптимизировать (естесствено)
Офлайн
Кристина, обрати внимание на #7
Офлайн