Les ordinateurs vivent en binaire. Tous les programmeurs connaissent le binaire.
Mais les 2**x
bases sont souvent négligées car non pratiques, alors qu'elles ont de belles relations avec le binaire.
Pour vous montrer un exemple d'une relation aussi belle, 19 sera mon témoignage.
19 10011 103 23 13 j
19 est décimal, inclus pour plus de clarté.
10011 est 19 en binaire.
103, en base 4 se fait à partir du binaire de cette façon:
- log2 (4) == 2, rappelons-nous deux.
- Pad 10011 pour qu'il ait un multiple de 2 longueurs -> 010011
Prenez les chiffres 2 par 2 de gauche à droite et traitez-les comme des nombres binaires à 2 chiffres:
- 01 -> 1
- 00 -> 0
- 11 -> 3
Fait , 10011 en base 4 est 103.
Pour la base 8, faites la même chose mais 3 par 3 comme log2 (8) = 3.
- Pad 010011
- 010 -> 2
011 -> 3
23, terminé .
Pour la base 16, faites la même chose mais 4 x 4 comme log2 (16) = 4.
- Pad 00010011
- 0001 -> 1
0011 -> 3
13, terminé .
Tâche
Étant donné un nombre maximum en entrée, vous devez générer un tableau
base-ten-i base-two-i base-four-i base-eight-i base-sixteen-i base-thirtytwo-i
pour i cela va de 0 à n inclus. Les nombres binaires sont la quintessence du minimum absolu nécessaire pour fonctionner, donc votre code doit être aussi court que possible.
Restrictions et bonus
Base-ten -> binaire et binaire -> Les composants intégrés de base-dix sont considérés comme des failles comme Base-a -> Base-b.
Si vous générez toutes les
2**i
bases (pour i> 2) en utilisant les relations mentionnées ci-dessus, vous obtenez un*0.6
bonus, mais les conversions de base générales (écrites par vous-même) sont autorisées.
Exemple de tableau
> 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