Це завдання надихає ця фантастична анімована діаграма (дякую недоліку за публікацію її у чаті).
Давши вклад n
, намалюйте всі його основні фактори як вкладені багатокутники крапок, як зазначено.
Наприклад, з урахуванням числа 357 = 17x7x3
ви розташовуєте 3 крапки в трикутнику, 7 версій цих трикутників у шестикутнику та 17 варіантів цих шестикутників у 17-кут. Коротше кажучи, вкладені багатокутники переходять від найбільшого основного фактора зовні та до найменшого зсередини. Бо 357
ваша відповідь повинна виглядати приблизно так (з кольором або без нього):
Кожен многокутник кожного простого >= 3
не повинен обертатися навколо діаграми.
Єдиним винятком є прем'єр 2
, спеціально для непарних повноважень Росії 2
. Як ви бачите в прикладі 376 = 47x2x2x2
нижче, 8
s обертаються і не є одиночними лініями 2
s, а є вертикальними стеками для 4
s в квадрат. Навіть повноваження 2
, розташовані в квадратах, не потрібно обертати таким чином.
Насправді 448 = 7x2x2x2x2x2x2
має діаграму, яка схожа на шестикутник 64
s, і 64
розташована на квадрат квадратів, але без обертання.
Ще два приклади є 440 = 11x5x2x2x2
і 432 = 3x3x3x2x2x2x2
. Ми бачимо, що 440
з непарною силою 2 обертається 8
s, але 432
з парною силою 2
не обертає свою 16
s.
І нарешті, ось мінімальний приклад, 10 = 5x2
без кольору, який я знущався з Python та його turtle
модулем.
Змагання
- Даний ввід
n
де1 <= n <= 10000
, виведіть зображення його вкладених багатокутників фактора. - Правила:
- Зображення складається з вкладених багатокутників крапок, від багатокутника з (найбільшим основним фактором) сторонами на зовнішній стороні до найменшого основного фактора зсередини.
- Для коефіцієнта 2 сили 2 повинні складатись як лінія, то квадрати, то лінія квадратів тощо. Навіть сили 2 не повинні повертатися. Непарні сили 2 повинні обертатися навколо відповідних багатокутників, і вони повинні розташовуватися вертикально перед обертанням.
- Ви можете орієнтувати зображення, як вам подобається (хоча я віддаю перевагу), але кожен вкладений багатокутник повинен бути в тому ж напрямку, що і будь-який інший багатокутник за винятком непарних потужностей 2.
- У вас є два варіанти розміру зображення та розміру крапки:
- Розмір зображення статичний, а розмір крапки зменшується зі
n
збільшенням (як в анімації). - Розмір крапки є статичним, а розмір зображення зростає зі
n
збільшенням.
- Розмір зображення статичний, а розмір крапки зменшується зі
- Перші три шари багатокутників повинні відрізнятись від сусідніх багатокутників (тобто не торкатися), але враховуючи розмір зображень біля та навколо
n=10000
, добре, якщо шари після початку торкатися. Я вважаю за краще, якщо цього не зробили, але це може бути неминуче розміщення на зображенні, яке можна завантажити в Stack Exchange. - Колір необов’язковий.
- Форма крапок залежить від вас. Якщо квадрати краще вашої мови, використовуйте їх.
- Ніяких бонусів, але я хотів би, щоб хтось анімував і розмальовував діаграми, як у оригінальній публікації.
Дякуємо Конору О'Браєну, EasterlyIrk, Мартіну Ендеру, Критіксі Літосу, Мего, DJ McMayhem та El'endia Starman за допомогу в написанні цього питання.
Це код гольфу, тому виграє найкоротший код. Успіхів і хорошого гольфу!
n = n //= i
повинно бутиn//= i
?