Menu
CoddyTech

Steps to Reduce a Number to Zero

Начните с неотрицательного целого числа n и повторяйте одно правило, пока не достигнете 0: если число чётное, разделите его на 2; если нечётное, вычтите 1. Каждое применение правила — это один шаг. Верните количество шагов, которое для этого потребуется.

Функция

numberOfSteps(n: integer) → integer
ninteger
начальное число
Возвращаетinteger
количество шагов до тех пор, пока число не достигнет 0

Ограничения

  • 0 ≤ n ≤ 231 - 1

Примеры

Ввод
n = 14
Вывод
6
Пояснение
Число проходит путь 14 → 7 → 6 → 3 → 2 → 1 → 0: три деления пополам и три вычитания, 6 шагов.
challenge icon

Дополнительный вопрос

Предположим, нечётное число также можно увеличить на 1. Каково минимальное количество шагов, чтобы достичь 0, и какой вариант верен для 15?

Сбросить код
def numberOfSteps(n):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

n = 14

Ожидаемый вывод

6