Em homenagem ao quanto eu tinha várias horas atrás, quando pensei neste desafio:
Números como esse, compostos de repetições de um único dígito, são chamados de re-dígitos . Repdigits são divertidos! Todo corpo ficaria mais feliz se a quantidade de representante que eles tivessem fosse um repdigit ¹ , mas eu sou impaciente, então você precisa me ajudar a descobrir a maneira mais rápida de obter um repdigit.
Aqui está o seu desafio:
Dado um número inteiro positivo que representa a reputação, produza a quantidade mínima de rep que eles precisam obter para obter um repdit. Por exemplo, no momento em que escrevemos esse desafio, o usuário Martin Ender tinha 102.856 representantes. O dígito representante mais próximo é 111.111, portanto, ele precisaria obter: 8255 rep para estar em um re-dígito.
Como as pessoas não gostam de perder representantes, consideraremos apenas mudanças não negativas. Isso significa que, por exemplo, se alguém tem 12 repetições, em vez de perder 1 repetição, a solução é obter 10 repetições. Isso permite que '0' seja uma saída válida, pois qualquer pessoa que possua 111 representantes já está em um re-dígito.
A entrada e a saída podem estar em qualquer formato razoável e, como é impossível ter menos de 1 representante em qualquer site do Stack Exchange, você pode assumir que nenhuma entrada será menor que 1.
Uma base de referência a observar:
Se um usuário tiver menos de 10 representantes, ele já estará com um repdit e, portanto, também precisará de '0'.
Teste de E / S:
#Input #Ouput
8 0
100 11
113 109
87654321 1234567
42 2
20000 2222
11132 11090
As brechas padrão se aplicam e a solução mais curta em bytes vence!
110
should give 1
, even though there isn't a way to gain one rep.