|
Menu |
|
Задача Код Грея
| Файл входного файла: | graycode.in |
|---|---|
| Файл выходного файла: | graycode.out |
| Ограничение по памяти: | 64 MB |
| Ограничение по времени: | 2 s |
Описание
Код Грея — система нумерования, в которой два соседних значения различаются только в одном разряде. Наиболее часто на практике применяется рефлексный двоичный код Грея. Такое название происходит от того факта, что вторая половина значений в коде Грея эквивалентна первой половине, только в обратном порядке, за исключением старшего бита, который просто инвертируется.Если же разделить каждую половину ещё раз пополам, свойство будет сохраняться для каждой из половин половины и т. д. Вот начало этого ряда:
000 - 0
001 - 1
011 - 3
010 - 2
110 - 6
111 - 7
101 - 5
100 - 4
Но последовательность может начинаться не только с нуля. Вот пример последовательности, начинающейся с 5:
101 - 5
100 - 4
110 - 6
111 - 7
011 - 3
010 - 2
000 - 0
001 - 1
Ваша задача найти N-ое число последовательности, начинающейся с числа K.
Формат входных данных
На первой строке входного файла находится число N (1 <= N <= 2 100000 ). На второй строке задано число K (0 <= K < 2 100000 )
Формат выходных данных
в выходной файл выведите одно число - ответ на задачу.
Примеры:
| ввод | вывод |
|---|---|
|
1
|
0 |
|
|
|
|
4
|
7 |
|
|
|
Powered by django, eJudge.
Обсуждение:
Начать обсуждение: