Ctrl K

Двоичное число: пополам или плюс один

Средняя
Дано положительное целое число в двоичной записи — строка bits без ведущих нулей. С числом повторяют одно действие, пока оно не станет равно 1: - если число чётное, его делят на 2; - если нечётное — прибавляют к нему 1. Верните, сколько действий понадобится. Учтите, что строка может быть длиной в сотни символов.
Пример 1
bits="1011" → 6

Это 11: 11 → 12 → 6 → 3 → 4 → 2 → 1, всего 6 шагов.

Пример 2
bits="100" → 2

Это 4: два деления пополам, 4 → 2 → 1.

Пример 3
bits="1" → 0
Ограничения
  • 1 ≤ len(bits) ≤ 500
  • bits состоит из символов '0' и '1'
  • bits[0] = '1'
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПовторяющиеся участки гена СредняяСлова без общих букв СредняяВсе сокращения слова СредняяНаименьшее число блоков адресов СредняяВсе написания кода Средняя
загружаем Python…
Вход
bits="1011"
Ожидается
6

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