Código Gray: Deslocamento Cíclico e XOR
C++
Hard
loops
Tarefa «Código Gray: Deslocamento Cíclico e XOR»
Dado um número inteiro N (1 ≤ N ≤ 20). Gere uma sequência de 2^N números representando o código Gray para números de 0 a 2^N-1. Em seguida, para cada número nesta sequência, realize um deslocamento cíclico de sua representação binária para a direita em 1 bit e aplique a operação XOR com o número original. Exiba os valores obtidos em ordem crescente dos números originais. Use apenas loops e operações bit a bit, evitando recursão.
Formato de Entrada
Um número inteiro N (1 ≤ N ≤ 20).
Formato de Saída
2^N números inteiros separados por espaços, cada um em uma nova linha.
Exemplos
Exemplo 1
ENTRADA
3
1 2 3
4 5 6
7 8 9
SAÍDA
15
Exemplo 2
ENTRADA
1 5
SAÍDA
1 2 4 8 16
Exemplo 3
ENTRADA
5
1 2 3 4 5
2 3
SAÍDA
12
Exemplo 4
ENTRADA
3
SAÍDA
1
0
0
2
0
4
4
6
main.cpp