Ingresso
Un array non vuoto di numeri interi positivi.
Compito
Converti ogni numero intero in binario, ottale, decimale o esadecimale in modo tale che ogni cifra (da 0 a F ) venga utilizzata al massimo una volta.
Produzione
L'elenco delle basi utilizzate per risolvere il puzzle.
Esempio dettagliato
L'output previsto per [16, 17] è [ottale, decimale] .
Ecco perché:
- Non possiamo semplicemente usare il decimale per entrambi i numeri, perché entrambi contengono un 1 .
- 16 non può essere convertito in binario, poiché la sua rappresentazione in questa base ( 10000 ) contiene diversi 0 .
- Nemmeno il 17 può essere convertito in binario, poiché la sua rappresentazione in questa base ( 10001 ) contiene diversi 0 e diversi 1 .
- 17 non può essere convertito in esadecimale, perché la sua rappresentazione in questa base ( 11 ) è composta da due 1 '.
Consideriamo tutte le possibilità rimanenti:
+---------+---------+--------+ | 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 | +--------------+---------+---------+--------+L'unica soluzione possibile è convertire 16 in ottale ( 20 ) e mantenere 17 in decimale ( 17 ). In questo modo, le cifre 0 , 1 , 2 e 7 vengono utilizzate esattamente una volta.
Chiarimenti e regole
- L'input garantisce una soluzione unica. Il codice non dovrebbe supportare array che offrono diverse soluzioni o nessuna soluzione.
- Puoi generare le basi in qualsiasi formato ragionevole, come ["bin", "oct", "dec", "hex"] , ['b', 'o', 'd', 'h'] , "BODH " , [2,8,10,16] , [0,1,2,3] ecc. Ma dovrebbe essere chiaramente spiegato nella tua risposta.
- L'ordine delle basi nell'output deve corrispondere all'ordine degli interi di input.
- Se ciò aiuta, puoi supporre che l'input sia ordinato dal più basso al più alto o dal più alto al più basso.
- Questo è code-golf , quindi vince la risposta più breve in byte!
Casi test
Non è necessario produrre i risultati della conversione elencati di seguito. Sono puramente informativi.
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
L'elenco di input non elaborati è disponibile qui .