Олимпиадный тренинг

Задача . Переключить биты


Задача

Темы: Битовые операции

Напишите программу, переключающую с \(k\)-го по \(l\)-й (включительно) биты числа \(n\). Нумерация бит ведётся справа налево, начиная с нуля.

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

На ввод в одной строке через пробел подаются три целых числа: \(n\), \(k\), \(l\).

Гарантируется, что \(0\leqslant n<2^{31}\), \(0\leqslant k\leqslant l\leqslant 30\).

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

Программа должна вывести число, полученное после описанной выше замены бит в числе \(n\).

Замечание

В приведённом примере число 34 представляется в двоичном виде как 100010. Переключив биты с первого по третий, получим 101100, что является двоичным кодом числа 44.



Примеры
Входные данныеВыходные данные
1 34 1 3
44

time 1000 ms
memory 64 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python3
Комментарий учителя