Ctrl K

Спуск до единицы

Средняя
Дано положительное целое число value. За один шаг можно сделать следующее: - если число чётное — разделить его пополам; - если нечётное — прибавить к нему 1 или отнять 1 (на выбор). Верните наименьшее число шагов, за которое value превращается в 1.
Пример 1
value=12 → 4

12 → 6 → 3 → 2 → 1: четыре шага.

Пример 2
value=15 → 5

15 → 16 → 8 → 4 → 2 → 1: выгоднее прибавить единицу, чем отнять.

Пример 3
value=1 → 0

Число уже равно 1, шагов не нужно.

Ограничения
  • 1 ≤ value ≤ 2³¹ − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиГонка из общей кучки чисел СредняяСамая дешёвая корзина с наборами СредняяГруппы с равными суммами СредняяДвоичное число не больше порога СредняяОбнулить степенями двойки Средняя
загружаем Python…
Вход
value=12
Ожидается
4

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