Вступление
XOR - это цифровой логический элемент, который реализует эксклюзив или. В большинстве случаев это отображается как ^
. Четыре возможных результата в двоичном виде:
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
Это также можно рассматривать как сложение по модулю 2 в двоичном виде. В десятичном формате нам нужно преобразовать десятичное число в двоичное, 35 = 100011
и. 25 = 11001
Чтобы вычислить значение XOR, мы помещаем их друг на друга:
100011
11001 ^
--------
111010 = 58 in decimal
Задача : если задано целочисленное значение N больше 1, выведите таблицу XOR с размером N + 1. Например, 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
Вы можете видеть, что перед каждым числом есть один пробел, потому что наибольшая сумма в таблице имеет длину 1. Однако, если мы возьмем N = 9, мы получим следующую сетку:
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
Наибольшее значение имеет длину 2, поэтому значение выравнивается по правому краю на длину 3 (наибольшая длина + 1).
Правила:
- Начальные пробелы не являются обязательными, только если используются (или не используются) последовательно
- Вы должны вывести таблицу в форме, показанной выше.
- Заполнение между столбцами должно быть как можно меньше
- Это код-гольф , поэтому выигрывает представление с наименьшим количеством байтов!
output an XOR table with the size N+1