Учитывая регулярный N-гон со всеми нарисованными диагоналями, сколько областей образуют диагонали?
Например, у правильного треугольника ровно 1, у квадрата ровно 4, у пятиугольника ровно 11, а у шестиугольника 24.
- оценка обратно пропорциональна количеству байтов в решении
- небольшие коэффициенты помадки могут быть добавлены к оценкам на основе их времени выполнения
- область, окружающая многоугольник, не учитывается
Ответы:
Mathematica 118
Несмотря на то, что существуют четко определенные процедуры для вычисления количества областей в обычном n-гоне со всеми нарисованными диагоналями , они довольно громоздки. Я подумал, что было бы забавно использовать подход к обработке изображений : если бы мы нарисовали n-gon с его диагоналями, было бы возможно подсчитать области из нарисованного изображения (точнее, из растеризованного и бинаризованного представления изображения как массив)?
Следующее создает и обрабатывает фактическое изображение многоугольника и определяет количество областей из растрового изображения.
Это то, что можно назвать решением инженера. Он выполняет свою работу, но только в определенных условиях. (И это медленно: выполнение приведенного выше кода заняло 4,24 с.) Вышеприведенная процедура работает корректно, вплоть до 14-полного графика , показанного ниже. Я нахожу это удивительным, учитывая, что некоторые из 952 областей очень трудно увидеть, даже если изображение отображается с разрешением 1200 на 1200 пикселей.
Картинка ниже - это изображение перед растеризацией и бинаризацией.
источник
Excel, 341 байт
Реализует формулу, приведенную на ссылке Woflram Mathworld в комментарии @ mob.
Разгромил для ясности:
источник