Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Люди! Помогите решить геометрическую задачу. Сижу над ней уже месяц.

13K
17 ноября 2005 года
nitsa
3 / / 17.11.2005
Вот эта задача.

В выпуклом n-угольнике провели все диагонали, причем никакие три из которых не пересекаются в одной точке. Найти количество частей, на которые оказался разбит n-угольник.

Заранее спасибо!
15K
21 ноября 2005 года
Riant
1 / / 21.11.2005
Цитата:
Originally posted by nitsa
Вот эта задача.

В выпуклом n-угольнике провели все диагонали, причем никакие три из которых не пересекаются в одной точке. Найти количество частей, на которые оказался разбит n-угольник.

Заранее спасибо!



Если я нигде не наврал, то это тебе поможет:

 
Код:
ans := n - 2;
for i := 2 to n - 2 do begin
   j := n - i - 1;
   Inc(ans, (j + 1)*j*(i - 1) div 2 + j);
end;

Идея в том, чтобы проводить диагонали из всех вершин последовательно и смотреть, скока из них пересекает текущую. Если у тебя n точек пересечения, то количество частей увеличивается на n+1. Как видишь, это не геометрическая задача. :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог