Código Gray: Desplazamiento cíclico y XOR
C++
Hard
loops
Tarea «Código Gray: Desplazamiento cíclico y XOR»
Dado un número entero N (1 ≤ N ≤ 20). Genere una secuencia de 2^N números que representan el código Gray para los números de 0 a 2^N-1. Luego, para cada número en esta secuencia, realice un desplazamiento cíclico de su representación binaria hacia la derecha en 1 bit y aplique la operación XOR con el número original. Muestre los valores obtenidos en orden ascendente de los números originales. Use solo bucles y operaciones de bits, evitando la recursión.
Formato de entrada
Un número entero N (1 ≤ N ≤ 20).
Formato de salida
2^N números enteros, separados por espacios, cada uno en una nueva línea.
Ejemplos
Ejemplo 1
ENTRADA
3
1 2 3
4 5 6
7 8 9
SALIDA
15
Ejemplo 2
ENTRADA
1 5
SALIDA
1 2 4 8 16
Ejemplo 3
ENTRADA
5
1 2 3 4 5
2 3
SALIDA
12
Ejemplo 4
ENTRADA
3
SALIDA
1
0
0
2
0
4
4
6
main.cpp