EduBrick

G. Вся последовательность кода Грея

3000 мс · 256 МБ · всё или ничего

Выведите код Грея для всех чисел от 00 до 2k−12^k - 1 по порядку.

Формула та же: g(n)=n⊕(n≫1)g(n) = n \oplus (n \gg 1). Задача техническая, и её смысл — увидеть последовательность целиком и убедиться, что соседние значения действительно отличаются ровно одним битом.

Полезно посмотреть на неё в двоичном виде при k=3k = 3: 000,001,011,010,110,111,101,100000, 001, 011, 010, 110, 111, 101, 100. Видно, что вторая половина — это первая, прочитанная задом наперёд, с добавленной единицей слева. Именно так код Грея и строят рекурсивно, а формула со сдвигом — короткая запись того же самого.

Формат ввода

Одна строка содержит число kk (0≤k≤200 \le k \le 20).

Формат вывода

Одна строка из 2k2^k чисел.

Примеры

ввод
3
вывод
0 1 3 2 6 7 5 4
Войдите, чтобы отправлять решения.