Задача состоит в том, чтобы нарисовать правильный многоугольник из n сторон, используя только компас и линейку без опознавательных знаков.
Вход (n) является одним из следующих 10 чисел: 3, 4, 5, 6, 8, 10, 12, 15, 16, 17.
Метод : поскольку у вас есть только линейка и компас, вы можете рисовать только точки, линии и круги.
Линия может быть нарисована только:
- через две существующие точки.
Круг можно нарисовать только:
- с одной точкой в качестве центра и с периметром, проходящим через вторую точку.
Точку можно нарисовать только:
на пересечении двух линий,
на пересечении (ях) линии и круга,
на пересечении (ях) двух окружностей,
в начале, когда вы можете нарисовать 2 точки, чтобы начать.
Через этот процесс (и только через этот процесс) вы должны нарисовать n линий запрошенного n-gon вместе с любой работой, необходимой для достижения этой стадии.
РЕДАКТИРОВАТЬ: Положение пересечений должны быть рассчитаны, но линии и круги могут быть нарисованы любым способом, предусмотренным языком.
Вывод представляет собой изображение n-стороннего правильного многоугольника, показывающее работу.
Графически нет никаких ограничений на размер изображения, формат, толщину линии или что-либо еще, не упомянутое здесь. Однако должна быть возможность визуально различать различные линии, круги и их пересечения. Дополнительно:
- N линий, которые составляют стороны вашего n-гона, должны иметь другой цвет по сравнению с вашей «рабочей» (то есть любые точки, круги или другие линии) и снова иметь другой цвет на вашем фоне.
- Рабочие могут оставить границы области рисования, кроме точек, которые должны находиться в пределах видимых границ изображения.
- Круг может быть полным кругом или просто дугой (если он показывает необходимые пересечения).
Линия бесконечна (т.е. покидает область рисования) или обрезана в двух точках, через которые она проходит.РЕДАКТИРОВАТЬ: линия может быть проведена любой длины. Точки могут быть созданы только там, где нарисованная линия визуально пересекается.- Точка может быть нарисована по вашему желанию, в том числе не отмечая ее.
Подсчет очков имеет два аспекта: за каждый вход, который он поддерживает, предоставляется 1 балл, что составляет максимум 10 баллов. В случае ничьи побеждает самый короткий счетчик байтов.
Признание будет дано представлениям, которые могут построить n-гоны за наименьшее количество шагов или способны построить n-гоны за пределами заданного диапазона, но это не поможет вашему счету.
CIRCLE 0,0,500
или мне нужно это сделать R=SQRT(300^2+400^2): CIRCLE 0,0,R
? (Кстати, выработка положений пересечений, вероятно, сложнее, чем линий и окружностей.)
Carl Friedrich Gauss in 1796 showed that a regular n-sided polygon can be constructed with straightedge and compass if the odd prime factors of n are distinct Fermat primes