Ctrl K

Ближайшее по XOR число с заданным числом единиц

Средняя
Даны два целых положительных числа base и pattern. Найдите целое положительное число x, у которого в двоичной записи столько же единиц, сколько у pattern, и при этом значение x XOR base минимально. Верните x. Такое число всегда единственно.
Пример 1
base=10, pattern=7 → 11

10 = 1010₂, а в 7 = 111₂ три единицы. Берём 1011₂ = 11: 11 XOR 10 = 1, меньше не бывает.

Пример 2
base=13, pattern=4 → 8

Нужна одна единица. Оставляем старший бит 13 = 1101₂: x = 1000₂ = 8, и 8 XOR 13 = 5.

Пример 3
base=6, pattern=9 → 6
Ограничения
  • 1 ≤ base, pattern ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСпуск до единицы СредняяМаксимум двоичных строк после переворотов СредняяКомпании по четыре в кинозале СредняяПрибавить или удвоить всё СредняяОбнулить степенями двойки Средняя
загружаем Python…
Вход
base=10, pattern=7
Ожидается
11

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 63 теста на сервере, включая скрытые.