introduction
XOR est une porte logique numérique qui implémente un ou exclusif. La plupart du temps, cela apparaît comme ^
. Les quatre résultats possibles en binaire:
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
Cela peut également être considéré comme l'addition modulo 2 en binaire. En décimal, nous devons convertir la décimale en binaire, 35 = 100011
et pour 25 = 11001
calculer la valeur XOR, nous les plaçons les uns sur les autres:
100011
11001 ^
--------
111010 = 58 in decimal
La tâche : Lorsque la valeur entière N est supérieure à 1, affichez une table XOR de taille N + 1. Par exemple, N = 5:
0 1 2 3 4 5
1 0 3 2 5 4
2 3 0 1 6 7
3 2 1 0 7 6
4 5 6 7 0 1
5 4 7 6 1 0
Vous pouvez voir qu'il y a un espace devant chaque nombre, car le montant le plus élevé du tableau a une longueur 1. Cependant, si nous prenons N = 9, nous obtenons la grille suivante:
0 1 2 3 4 5 6 7 8 9
1 0 3 2 5 4 7 6 9 8
2 3 0 1 6 7 4 5 10 11
3 2 1 0 7 6 5 4 11 10
4 5 6 7 0 1 2 3 12 13
5 4 7 6 1 0 3 2 13 12
6 7 4 5 2 3 0 1 14 15
7 6 5 4 3 2 1 0 15 14
8 9 10 11 12 13 14 15 0 1
9 8 11 10 13 12 15 14 1 0
La valeur la plus élevée a une longueur 2, donc la valeur est alignée à droite sur la longueur 3 (longueur la plus élevée + 1).
Règles:
- Le premier espace n'est pas obligatoire, uniquement s'il est utilisé (ou non) de manière cohérente
- Vous devez générer un tableau sous la forme indiquée ci-dessus.
- Le remplissage entre les colonnes doit être aussi petit que possible
- C'est du code-golf , donc la soumission avec le moins d'octets gagne!
output an XOR table with the size N+1