introduzione
XOR è una porta logica digitale che implementa un esclusivo o. Il più delle volte, questo è mostrato come ^
. I quattro possibili risultati in binario:
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
Questo può anche essere visto come modulo aggiuntivo 2 in binario. In decimale, dobbiamo convertire il decimale in binario 35 = 100011
e , per 25 = 11001
calcolare il valore XOR, li posizioniamo uno sopra l'altro:
100011
11001 ^
--------
111010 = 58 in decimal
L'attività : quando viene assegnato un valore intero N maggiore di 1, genera una tabella XOR con dimensioni N + 1. Ad esempio, 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
Puoi vedere che c'è uno spazio davanti a ciascun numero, perché la quantità più alta nella tabella ha lunghezza 1. Tuttavia, se prendiamo N = 9, otteniamo la seguente griglia:
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
Il valore più alto ha lunghezza 2, quindi il valore è allineato a destra alla lunghezza 3 (lunghezza massima + 1).
Regole:
- I primi spazi bianchi non sono obbligatori, solo se utilizzati (o meno) in modo coerente
- È necessario generare una tabella nel modulo mostrato sopra.
- L'imbottitura tra le colonne dovrebbe essere il più piccola possibile
- Questo è code-golf , quindi vince l'invio con il minor numero di byte!
output an XOR table with the size N+1