En honor a la repetición que tuve hace varias horas, cuando pensé por primera vez en este desafío:
Los números como este que se componen de un solo dígito que se repite se llaman repdigits . ¡Los repdigits son divertidos! Todo el mundo sería más feliz si la cantidad de repeticiones que tenían era un repdigit ¹ , pero estoy impaciente, por lo que necesita para ayudar a encontrar el camino más rápido para llegar a un repdigit.
Aquí está tu desafío:
Dado un número entero positivo que representa la reputación, genere la cantidad mínima de repeticiones que necesitan ganar para llegar a un digito de rep . Por ejemplo, al momento de escribir este desafío, el usuario Martin Ender tenía 102,856 rep. El dígito de rep más cercano es 111,111, por lo que necesitaría ganar: 8255 rep para estar en un repdigit.
Dado que a las personas no les gusta perder reputación, solo consideraremos cambios no negativos. Esto significa que, por ejemplo, si alguien tiene 12 repeticiones, en lugar de perder 1 repetición, la solución es ganar 10 repeticiones. Esto permite que '0' sea una salida válida, ya que cualquiera que tenga 111 rep ya está en un repdigit.
La entrada y la salida pueden estar en cualquier formato razonable , y dado que es imposible tener menos de 1 repetición en cualquier sitio de Stack Exchange, puede asumir que ninguna entrada será menor que 1.
Una esquina para tener en cuenta:
Si un usuario tiene menos de 10 rep, ya está en un digito de rep, por lo que también necesita '0'.
Prueba IO:
#Input #Ouput
8 0
100 11
113 109
87654321 1234567
42 2
20000 2222
11132 11090
Se aplican lagunas estándar, ¡y gana la solución más corta en bytes!
110
lo tanto, debería dar 1
, a pesar de que no hay una manera de ganar una repetición.