Menu
CoddyTech

Steps to Reduce a Number to Zero

Empieza con un entero no negativo n y repite una regla hasta que llegue a 0: si el número es par, divídelo entre 2; si es impar, réstale 1. Cada aplicación de la regla cuenta como un paso. Devuelve el número de pasos que se necesitan.

Función

numberOfSteps(n: integer) → integer
ninteger
el número inicial
Devuelveinteger
el número de pasos hasta que el número llegue a 0

Restricciones

  • 0 ≤ n ≤ 231 - 1

Ejemplos

Entrada
n = 14
Salida
6
Explicación
El número sigue la secuencia 14 → 7 → 6 → 3 → 2 → 1 → 0: tres divisiones por la mitad y tres restas, 6 pasos.

lock icon+12 pruebas ocultas al enviar

challenge icon

Para ir más allá

Supón que un número impar también puede aumentar en 1 en lugar de disminuir. ¿Cuál es el menor número de pasos para llegar a 0 y qué opción es correcta para 15?

Restablecer código
def numberOfSteps(n):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

n = 14

Esperado

6