컴퓨터는 바이너리로 산다. 모든 프로그래머는 바이너리를 알고 있습니다.
그러나 2**x
기본은 종종 비 실용적 인 것으로 무시되지만 이진과 아름다운 관계가 있습니다.
그러한 아름다운 관계의 한 가지 예를 보여 드리기 위해 19는 나의 증언이 될 것입니다.
19 10011 103 23 13 j
19는 명확성을 위해 포함 된 10 진수입니다.
10011은 이진수로 19입니다.
103에서 기본 4의 이진법으로 시작합니다 :
- log2 (4) == 2, 두 가지를 기억합시다.
- 10011을 2 길이의 배수가되도록 패드-> 010011
왼쪽에서 오른쪽으로 2에서 2까지의 숫자를 가져 와서 2 자리 2 진수로 처리하십시오.
- 01-> 1
- 00-> 0
- 11-> 3
완료 에 10011,베이스 (4)는 103이다.
8 진의 경우 log2 (8) = 3과 동일하지만 3x3을 수행하십시오.
- 패드 010011
- 010-> 2
011-> 3
23, 완료 .
16 진의 경우 log2 (16) = 4와 동일하지만 4x4를 수행하십시오.
- 패드 00010011
- 0001-> 1
0011-> 3
13, 완료 .
직무
입력으로 최대 숫자가 주어지면 테이블을 출력해야합니다
base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i base-thirtytwo-i
0에서 n까지의 i에 해당합니다. 이진수는 작동하는 데 필요한 최소값의 전형이므로 코드는 가능한 짧아야합니다.
제한 및 보너스
Base-ten-> 이진 및 이진-> Base-ten 내장은 Base-a-> Base-b와 같이 허점으로 간주됩니다.
2**i
위에서 언급 한 관계를 사용하여 모든 (i> 2) 염기 를 생성 하면*0.6
보너스 를 얻을 수 있지만 일반적인 염기 변환 (자신이 직접 작성)은 허용됩니다.
예제 테이블
> 32
0 0 0 0 0 0
1 1 1 1 1 1
2 10 2 2 2 2
3 11 3 3 3 3
4 100 10 4 4 4
5 101 11 5 5 5
6 110 12 6 6 6
7 111 13 7 7 7
8 1000 20 10 8 8
9 1001 21 11 9 9
10 1010 22 12 a a
11 1011 23 13 b b
12 1100 30 14 c c
13 1101 31 15 d d
14 1110 32 16 e e
15 1111 33 17 f f
16 10000 100 20 10 g
17 10001 101 21 11 h
18 10010 102 22 12 i
19 10011 103 23 13 j
20 10100 110 24 14 k
21 10101 111 25 15 l
22 10110 112 26 16 m
23 10111 113 27 17 n
24 11000 120 30 18 o
25 11001 121 31 19 p
26 11010 122 32 1a q
27 11011 123 33 1b r
28 11100 130 34 1c s
29 11101 131 35 1d t
30 11110 132 36 1e u
31 11111 133 37 1f v
32 100000 200 40 20 10