Problema
Ver original (inglés)En cada paso, elige un dígito decimal distinto de cero que esté presente actualmente en el número y réstalo. Los dígitos se toman del nuevo valor después de cada paso. Encuentra el número mínimo de pasos necesarios para llegar a cero.
Implementa removing_digits(n).
Entrada
n: El número inicial positivo.
Salida
Devuelve la menor cantidad de pasos de resta.
Restricciones
1 ≤ n ≤ 1,000,000. Restar cero no es un movimiento útil y está excluido.
Ejemplos
Entrada:
n = 14
Salida esperada:
expected = 3
Entrada:
long long n = 14;
Salida esperada:
long long expected = 3;
Entrada:
long n = 14;
Salida esperada:
long expected = 3;
Explicación
14 → 10 → 9 → 0 usa tres pasos. Ninguna de las posibles primeras restas puede llegar a cero en solo dos pasos.
Entrada:
n = 7
Salida esperada:
expected = 1
Entrada:
long long n = 7;
Salida esperada:
long long expected = 1;
Entrada:
long n = 7;
Salida esperada:
long expected = 1;
Explicación
Resta el único dígito, 7, para llegar a 0 inmediatamente.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.