Вхідні дані
Непорожній масив додатних цілих чисел.
Завдання
Перетворіть кожне ціле число у двійкове, восьмеричне, десяткове або шістнадцяткове, таким чином, щоб кожна цифра ( 0 до F ) була використана не більше одного разу.
Вихідні дані
Список баз, які використовувались для розгадування загадки.
Детальний приклад
Очікуваний вихід для [16, 17] - [вісімковий, десятковий] .
Ось чому:
- Ми не можемо просто використовувати десятковий для обох чисел, оскільки вони обидва містять 1 .
- 16 не може бути перетворений у двійковий, оскільки його представлення в цій базі ( 10000 ) містить кілька 0 's.
- 17 також не може бути перетворений у двійковий, оскільки його представлення в цій базі ( 10001 ) містить кілька 0 's та кілька 1 ' s.
- 17 не може бути перетворений у шістнадцятковий, оскільки його представлення в цій базі ( 11 ) складається з двох 1 's.
Розглянемо всі інші можливості:
+---------+---------+--------+ | oct(16) | dec(16) | hex(16)| | = 20 | = 16 | = 10 | +--------------+---------+---------+--------+ | oct(17) = 21 | 20,21 | 16,21 | 10,21 | | dec(17) = 17 | 20,17 | 16,17 | 10,17 | +--------------+---------+---------+--------+
Єдине можливе рішення - перетворити 16 в восьмеричний ( 20 ) і зберегти 17 в десятковий ( 17 ). Таким чином, цифри 0 , 1 , 2 і 7 використовуються рівно один раз.
Роз'яснення та правила
- Вхід гарантовано призведе до унікального рішення. Ваш код не повинен підтримувати масиви, які дають кілька рішень або взагалі не мають рішення.
- Ви можете виводити бази в будь-якому розумному форматі, наприклад ["bin", "oct", "dec", "hex"] , ['b', 'o', 'd', 'h'] , "BODH " , [2,8,10,16] , [0,1,2,3] тощо. Але це слід чітко пояснити у вашій відповіді.
- Порядок основ у висновку повинен відповідати порядку вхідних цілих чисел.
- Якщо це допомагає, ви можете припустити, що вхід сортується від найнижчого до найвищого або від найвищого до найнижчого.
- Це код-гольф , тому найкоротша відповідь у байтах виграє!
Тестові справи
Вам не доведеться виводити наведені нижче результати переходів. Вони суто інформаційні.
Input | Output | Conversion result
---------------------------------------+-----------------+------------------------
[ 119 ] | O | 167
[ 170 ] | D | 170
[ 64222 ] | H | FADE
[ 16, 17 ] | O/D | 20/17
[ 14, 64, 96 ] | H/H/D | E/40/96
[ 34, 37, 94 ] | O/D/H | 42/37/5E
[ 2, 68, 82 ] | B/D/H | 10/68/52
[ 22, 43, 96 ] | O/O/O | 26/53/140
[ 3639, 19086, 57162 ] | H/D/H | E37/19086/DF4A
[ 190, 229, 771 ] | O/H/O | 276/E5/1403
[ 2, 44, 69, 99 ] | B/H/H/H | 10/2C/45/63
[ 75, 207, 218, 357, 385 ] | H/H/H/D/O | 4B/CF/DA/357/601
[ 12, 28, 46, 78, 154, 188, 222, 240 ] | D/O/O/D/H/H/H/H | 12/34/56/78/9A/BC/DE/F0
Список необробленого входу доступний тут .