Фрідман Число є позитивним цілим числом, що дорівнює нетривіальною вираз , яке використовує свої власні цифри в поєднанні з операціями +, -, *, /, ^, круглі дужки і конкатенації.
Число Ніцца Фрідмана - це додатне ціле число, яке дорівнює нетривіальному виразу, яке використовує власні цифри в поєднанні з тими ж операціями, з цифрами у їх первісному порядку.
Дуже приємний номер Фрідмана (VNFN), який я тут вигадую, - це число Ніцца Фрідмана, яке можна записати без менш симпатичних (на мою думку) частин такого виразу. Дужки, конкатенація та одинарне заперечення заборонені.
Для цього завдання є три можливі способи написання виразу без дужок.
Приставка: це еквівалентно лівій асоціативності. Цей тип вираження записується всіма операторами зліва від цифр. Кожен оператор застосовує до наступних двох виразів. Наприклад:
*+*1234 = *(+(*(1,2),3),4) = (((1*2)+3)*4) = 20
VNFN, який можна записати так, становить 343:
^+343 = ^(+(3,4),3) = ((3+4)^3) = 343
Постфікс: це еквівалентно правій асоціативності. Це так само, як позначення префікса, за винятком того, що операція йде праворуч від цифр. Кожен оператор застосовується до двох попередніх виразів. Наприклад:
1234*+* = (1,(2,(3,4)*)+)* = (1*(2+(3*4))) = 14
VNFN, який можна записати так, становить 15655:
15655^+** = (1,(5,(6,(5,5)^)+)*)* = (1*(5*(6+(5^5)))) = 15655
Infix: Позначення Infix використовує стандартний порядок операцій для п'яти операцій. Для цілей виклику цей порядок операцій буде визначений наступним чином: ^
Перше впорядковувати , правильно асоціативно. Потім дужки *
та /
одночасно залишають асоціативно. Нарешті, круглі дужки +
та -
одночасно залишаються асоціативно.
1-2-3 = (1-2)-3 = -4
2/3*2 = (2/3)*2 = 4/3
2^2^3 = 2^(2^3) = 256
1^2*3+4 = (1^2)*3+4 = 7
VNFN, який можна записати таким чином, становить 11664:
1*1*6^6/4 = (((1*1)*(6^6))/4) = 11664
Завдання: Дано додатне ціле число, якщо воно може бути виражене як нетривіальне вираження власних цифр у будь-якому позначенні префікса, інфіксації чи постфікса, вивести це вираження. Якщо ні, нічого не виведіть.
Уточнення: Якщо можливі кілька представлень, ви можете вивести будь-яке не порожнє підмножина з них. Наприклад, 736 - це VNFN:
+^736 = 736
7+3^6 = 736
+^736
, 7+3^6
Або обидва все були б прийнятні виходи.
Вираз "Trivial" означає те, що не використовує жодних операторів. Це стосується лише одноцифрових чисел і означає, що одноцифрові числа не можуть бути VNFN. Це успадковане із визначення числа Фрідмана.
Відповіді повинні тривати за лічені секунди або хвилини на входах менше мільйона.
IO: Стандартні правила IO. Повна програма, функція, дієслово тощо. STDIN, командний рядок, аргумент функції або подібне. Для виведення "нічого" порожній рядок, порожній рядок null
або подібне, а також порожня колекція - все добре. Вихідним може бути рядок, обмежений символом, який не може бути представленим, або може бути колекцією рядків.
Приклади:
127
None
343
^+343
736
736^+
7+3^6
2502
None
15655
15655^+**
11664
1*1*6^6/4
1^1*6^6/4
5
None
Оцінка: Це гольф з кодом. Виграє найменше байт.
Крім того, якщо ви знайдете його, будь ласка, вкажіть новий дуже хороший номер Фрідмана у своїй відповіді.
Parentheses, concatenation and unary negation are disallowed.
*(+(*(1,2),3,4)
відсутній один близький батько, після,3