Диагонали многоугольника |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Диагонали многоугольника |
RathaR |
Сообщение
#1
|
Знаток Группа: Пользователи Сообщений: 346 Пол: Мужской Реальное имя: Иван Репутация: 7 |
Задача следующая:
В выпуклом многоугольнике который имеет N вершин провели все диагонали, никакие три из них не пересекаются в одной точке. Найти количество частей на которые эти диагонали его розделили. Задача в числе простых но в голову ничего не лезет... Подскажите с помощью чего её можна решить? Ведь зависимость между кол-вом вершин и числом елементов на которые его разбивают диагонали не линейная... Следовательно может быть здесь нужно задействовать рекурсию? или считать пересечения диагоналей? направте на путь истинный -------------------- Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик! Я - системный аналитик! |
Гость |
Сообщение
#2
|
Гость |
Вот:
var Спасибо за задачку, полезно иногда прочистить мозги . Но легкой я бы ее все же не назвал. Пришлось сесть и потратить порядка часа чистого времени. Хотя решение явно недлинное. Наверное, почаще надо такими вещами заниматься)). Кстати, возможно, что можно и короче. Возможно, что можно и вообще без циклов (изначально у меня их было аж четыре)). |
RathaR |
Сообщение
#3
|
Знаток Группа: Пользователи Сообщений: 346 Пол: Мужской Реальное имя: Иван Репутация: 7 |
Вот: готовый код это канешно очень хорошо, и за это вам большое спасибо но только целью моей было скорее понять её, чем получить готовую,а этого решения я если чесно часик просидел, и непонял. Хотелось бы алгоритм услышать, т.к. так и не понял, зачем во вложеном цыкле параметр и конечный параметр приближены друг к другу, и почему именно p:=p+(n-j)*(j-i-1)+1; Хотя решение с одним вложеным цыклом конечно немного удивило Сообщение отредактировано: RathaR - -------------------- Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик! Я - системный аналитик! |
Lapp |
Сообщение
#4
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
но только целью моей было скорее понять её, чем получить готовую, ... Хотя решение с одним вложеным цыклом конечно немного удивило Нет проблем, я еще пока, кажется, помню, как решал)). Сейчас напишу. Только вот рисунок сделаю.. А что именно удивило: что цикл - или что мало циклов? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
RathaR |
Сообщение
#5
|
Знаток Группа: Пользователи Сообщений: 346 Пол: Мужской Реальное имя: Иван Репутация: 7 |
А что именно удивило: что цикл - или что мало циклов? удивила простота реализации... никаких функций, процедур, деревьев, рекурсии и т.д. , тоесть это посилу написать человеку который неособо то знаком с паскалем, лиш бы только алгоритм понимал, и с логикой проблем не имел ... Сообщение отредактировано: RathaR - -------------------- Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик! Я - системный аналитик! |
Текстовая версия | 29.04.2024 20:57 |