Ctrl K

Щиток с рубильниками

Лёгкая
На щитке в ряд стоят рубильники. Состояние щитка записывают числом: если записать его в двоичном виде, 1 в разряде означает, что рубильник включён, а 0 — выключен (самый правый разряд — первый рубильник). Рубильников сколько угодно, ведущие нули тоже считаются выключенными рубильниками. За одно действие можно переключить ровно один рубильник. Дано текущее состояние current и нужное target. Верните наименьшее число переключений, чтобы перевести щиток из current в target.
Пример 1
current=12, target=5 → 2

12 = 1100, 5 = 0101. Отличаются первый и четвёртый разряды справа, значит нужно 2 переключения.

Пример 2
current=0, target=7 → 3

7 = 111: нужно включить три рубильника.

Пример 3
current=9, target=9 → 0
Ограничения
  • 0 ≤ current, target ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСумма двоичных строк ЛёгкаяЧисло без пары ЛёгкаяБиты задом наперёд ЛёгкаяСколько единиц в числе ЛёгкаяРазмер плотного дерева Лёгкая
загружаем Python…
Вход
current=12, target=5
Ожидается
2

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