Haciendo la Tarea


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Authors:
Problem type
Allowed languages
C++

Descripción

Hugo va a la escuela primaria, pero está convencido de que allí no le dan suficiente tarea para el hogar. En particular, recientemente le enseñaron a restar, pero cada día le dan solamente una resta para hacer en su casa. Hugo sabe que para aprender una técnica tan compleja debe practicar mucho más, de modo que ha decidido tomar cartas en el asunto y crear su propia tarea.

Como no es fácil para Hugo inventar ejercicios sobre un tema que no domina, se le ocurrió el siguiente método para poder hacer muchas restas. Empieza pidiéndole a su madre que le diga un número N, luego arma el número M que tiene los mismos dígitos que N pero ordenados de menor a mayor de izquierda a derecha, y finalmente realiza la resta N - M. Así, si por ejemplo su madre elige el número N = 321, entonces M = 123 y la resta que debe hacer Hugo es N - M = 321 - 123 = 198.

Como Hugo no quiere molestar a su madre muy seguido, va a repetir este procedimiento usando el resultado de la resta N - M de un paso como el número N para comenzar el paso siguiente. Esto terminará solamente cuando Hugo llegue en algún momento al valor N = 0, dado que este caso no sirve para practicar restas porque tendría M = 0 y él ya sabe que si no tiene ningún caramelo no puede comer ningún caramelo, por lo que seguirá no teniendo ni comiendo caramelos para siempre.

Ahora la madre de Hugo quiere saber, dado un número N, cuántas restas va a hacer Hugo si ella le da ese número para comenzar su tarea. En el ejemplo anterior, en el segundo paso Hugo tendrá N = 198, de modo que M = 189 y N - M = 198 - 189 = 9. Entonces, en el tercer paso N = 9, M = 9 y N - M = 9 - 9 = 0, por lo que aquí se termina la diversión, siendo que en el cuarto paso tendría N = 0. Por lo tanto, empezando con el número N = 321 Hugo debe hacer 3 restas.

Especificación de entrada

Una línea conteniendo un entero N, que representa el número que su madre le da a Hugo para comenzar su tarea (1 <= N <= 10^9).

Especificación de salida

Imprimir en la salida una línea conteniendo un entero que representa la cantidad de restas que Hugo debe hacer si empieza su tarea con el número N.

Ejemplo de entrada

321

Ejemplo de salida

3

Comments

There are no comments at the moment.