Zadanie : kod-graya-1a
Zadanie

W przetwornikach analogowo-cyfrowych, takich jak np. czujniki położenia, czy obrotu, stosuje się kody Graya. Kod Graya jest kodem dwójkowym, w którym dwa kolejne słowa kodowe tej samej długości różnią się stanem tylko jednego bitu.

Poniżej podane są wszystkie słowa kodowe długości 3:

numer 	kod
-----------
0	000
1	001
2	011
3	010
4	110
5	111
6	101
7	100

Jeśli przyjmiemy, że pierwszy wyraz kodu Graya ma numer 0 i składa się z samych zer, to wyraz n-ty możemy wyznaczyć bez konieczności znajomości wyrazów poprzednich - wystarczy na liczbie n i jej połowie wykonać operację logiczną xor:

kody trzycyfrowe
n 		= 6 = 110 		- numer kodu Graya
n div 2		= 3 = 011		- połowa liczby n
n xor (n div 2)	= 110 xor 011 = 101	- 6-ty kod Graya

Napisz program, który dla liczby całkowitej n wyznaczy wszystkie n bitowe kody Graya.

Wejście

Pierwszy wiersz wejścia zawiera liczbę całkowitą n z zakresu 1..8.

Wyjście

Każdy z kolejnych 2n wierszy powinien zawierać jeden z kodów Graya. Kody powinny być zapisane w kolejności rosnących ich numerów.

Przykład

Dla danych podanych na wejściu:

3

Poprawną odpowiedzią jest wyjście:

000
001
011
010
110
111
101
100

Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5

Opcje zadania:

Biblioteki         : iostream iomanip cmath string 
Limit czasu        : 0.1 s
Limit pamięci      : 32 MB
Słowa niedozwolone :