Desafio:
Seu programa utilizará dois números inteiros n
e, k
como entrada, e produzirá o menor número inteiro maior que (mas não igual a) n
que contenha pelo menos k
ocorrências do dígito 5
.
Você pode assumir 1 ≤ k ≤ 15
e 1 ≤ n < 10**15
.
Este é um desafio de tempo restrito . Seu programa deve ser executado no TIO para todos os casos de teste e concluído em 10 segundos no total.
Regras gerais:
Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para qualquer linguagem de programação.As regras padrão se aplicam à sua resposta com as regras de E / S padrão , para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados e programas completos do tipo retorno. Sua chamada. Os parâmetros da função podem ser obtidos em qualquer ordem, mas especifique na sua resposta.
- As brechas padrão são proibidas.
- Você deve adicionar um link com um teste para o seu código (ou seja, TIO ).
- O cabeçalho da resposta deve listar a pontuação em bytes, mas também o tempo total gasto para todos os casos de teste no TIO
- Se o seu idioma não estiver no TIO, o código deverá terminar em menos de 10 segundos na sua máquina, para que você tenha certeza de que é rápido o suficiente em qualquer computador razoável.
- É altamente recomendável adicionar uma explicação para sua resposta.
Casos de teste:
(n, k) -> output
(53, 2) -> 55
(55, 1) -> 56
(65, 1) -> 75
(99, 1) -> 105
(555, 3) -> 1555
(557, 1) -> 558
(5559, 3) -> 5565
(6339757858743, 5) -> 6339757859555
(99999999999999, 15) -> 555555555555555
Exemplo de programa:
Este programa está correto.
(n, k) = (45, 1)
é 50
? Algumas das respostas estão erradas.