У цьому виклику ми вивчили спосіб кодування кожного додатного цілого числа за допомогою факторних дерев.
Ось як це працює:
Порожній рядок має значення 1.
(S)
деS
будь-який вираз зі значенням S оцінює до S- го простого.AB
деA
іB
є arbirary вирази зі значеннями A і B відповідно , має значення A * B .
Наприклад, якби ми хотіли представляти 7, ми б це зробили
7 -> (4) -> (2*2) -> ((1)(1)) -> (()())
Виявляється, ми можемо представляти кожне ціле число за допомогою цього методу. Насправді деякі числа ми можемо представити різними способами. Оскільки множення є комутативним 10, це і те і інше
((()))()
і
()((()))
При цьому деякі числа можна представити лише 1 способом. Візьмемо, наприклад 8. 8 можна представити лише як
()()()
А оскільки всі наші атоми однакові, ми не можемо використовувати комунікацію для їх реорганізації.
Тож тепер питання "Які числа можна представити лише 1 способом?". Перше спостереження - це те, що я тільки почав робити там. Здається, досконалі сили мають якісь особливі властивості. В ході подальшого дослідження ми можемо знайти 36, тобто 6 2 - це досконала влада, але має декілька уявлень.
(())()(())()
(())()()(())
()(())()(())
()(())(())()
()()(())(())
І це має сенс, тому що 6 вже перекладається на зміну, тому будь-яке число, яке ми складаємо з 6, також повинно бути зміненим.
Отже, тепер у нас є правило:
- Число має унікальне представлення, якщо це досконала сила числа з унікальним поданням.
Це правило може допомогти нам зменшити визначення того, чи є складене число унікальним для визначення того, чи є простим числом унікальне. Тепер, коли ми маємо це правило, ми хочемо з'ясувати, що робить просте число унікальним. Це насправді досить очевидно. Якщо ми візьмемо унікальне число і зафіксуємо його в дужках, результат повинен бути унікальним, а, якщо n має декілька представлень, n- го простих даних має мати декілька подань. Це дає друге правило:
- П е просте єдино тоді і тільки тоді , коли п є унікальним.
Обидва ці правила є рекурсивними, тому нам буде потрібно базовий випадок. Яке найменше унікальне число? Можна спокуситись сказати 2, оскільки його справедливий ()
, але 1, порожній рядок, ще менший і унікальний.
- 1 унікальний.
За допомогою цих трьох правил ми можемо визначити, чи має число унікальне дерево факторів.
Завдання
Можливо, ви бачили, що він наближається, але ваше завдання - взяти додатне ціле число і визначити, чи унікальне воно. Ви повинні написати або програму, або функцію, яка робить це обчислення. Ви повинні вивести одне з двох можливих значень, те, що ці значення, залежить від вас, але одне повинно представляти "так", виводиться тоді, коли введення унікальне, а одне - "ні", виводиться інакше.
Ваші відповіді повинні бути оцінені в байтах, а менше байтів - краще.
Тестові кейси
Ось перша пара унікальних номерів:
1
2
3
4
5
7
8
9
11
16
17
19
23
25
27
31
Пропоновані тестові випадки
5381 -> Unique
Здається, що OEIS A214577 якимось чином пов'язаний, тому, якщо вам потрібно більше тестових випадків, спробуйте там, але я не знаю, що вони однакові, тому використовуйте на свій страх і ризик.