Menu
CoddyTech

Steps to Reduce a Number to Zero

Comece com um inteiro não negativo n e repita uma regra até chegar a 0: se o número for par, divida-o por 2; se for ímpar, subtraia 1. Cada aplicação da regra corresponde a um passo. Retorne o número de passos necessários.

Função

numberOfSteps(n: integer) → integer
ninteger
o número inicial
Retornainteger
o número de etapas até que o número chegue a 0

Restrições

  • 0 ≤ n ≤ 231 - 1

Exemplos

Entrada
n = 14
Saída
6
Explicação
O número segue 14 → 7 → 6 → 3 → 2 → 1 → 0: três divisões pela metade e três subtrações, 6 etapas.
challenge icon

Para ir além

Suponha que um número ímpar também possa aumentar em 1. Qual é o menor número de passos para chegar a 0, e qual escolha é a correta para 15?

Redefinir código
def numberOfSteps(n):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

n = 14

Saída Esperada

6