입력
비어 있지 않은 양의 정수 배열.
직무
각 숫자 ( 0 ~ F )가 최대 한 번 사용되는 방식으로 각 정수를 2 진, 8 진, 10 진 또는 16 진으로 변환하십시오 .
산출
퍼즐을 풀기 위해 사용 된 기지의 목록입니다.
자세한 예
[16, 17]에 대한 예상 출력 은 [8 진수, 10 진수] 입니다.
이유는 다음과 같습니다.
- 두 숫자 모두 1을 포함하기 때문에 단순히 두 숫자에 십진수를 사용할 수 없습니다 .
- 16 은이 밑 ( 10000 ) 의 표현에 여러 개의 0이 포함되어 있기 때문에 이진수로 변환 할 수 없습니다 .
- 이 밑변 ( 10001 ) 의 표현 은 여러 개의 0 과 여러 개의 1을 포함 하므로 17 은 이진수로 변환 될 수 없습니다 .
- 이 밑 ( 11 ) 에서의 표현 은 2 개의 1 로 구성 되므로 17 은 16 진수로 변환 될 수 없습니다 .
남아있는 모든 가능성을 고려해 봅시다.
+---------+---------+--------+ | 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 을 8 진수 ( 20 ) 로 변환 하고 17 을 10 진수 ( 17 ) 로 유지하는 것 입니다. 이런 식으로 숫자 0 , 1 , 2 및 7 이 정확히 한 번 사용됩니다.
설명 및 규칙
- 입력은 고유 한 솔루션으로 이어집니다. 코드는 여러 솔루션을 제공하거나 전혀 솔루션을 제공하지 않는 배열을 지원하지 않습니다.
- 사용자 출력 할 수와 같은 임의의 적절한 형식의 염기 [ "빈", "10월", "12월", "진수"] , [ 'B', 'O', 'D', 'H'] , "BODH " , [2,8,10,16] , [0,1,2,3] 등. 그러나 귀하의 답변에 명확하게 설명되어야합니다.
- 출력에서 밑의 순서는 입력 정수의 순서와 일치해야합니다.
- 도움이되는 경우 입력이 최저에서 최고로 정렬되거나 최고에서 최저로 정렬되었다고 가정 할 수 있습니다.
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다!
테스트 사례
아래 나열된 변환 결과를 출력 할 필요는 없습니다. 그들은 순수하게 정보를 제공합니다.
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
원시 입력 목록 은 여기에 있습니다 .