99 erros no código
A adaptação de "99 garrafas de cerveja na parede" para a ciência da computação, onde os bugs aumentam em vez de diminuir as garrafas, é frequentemente publicada na Internet. Exemplo de camiseta aqui .
Eu acho que será interessante ver uma possível recursão e geração aleatória de números em uma enorme variedade de idiomas e encontrar as maneiras mais eficientes de fazer isso.
Existem alguns outros desafios a serem enfrentados com 99 garrafas de cerveja, mas nenhuma parece ter um número crescente e decrescente!
Desafio
Seu programa ou função não deve receber nenhuma entrada e depois imprimir
99 erros no código
99 erros no código
Pegue um e remova-o
X erros no código
(linha em branco)
Onde X é o número inteiro anterior menos 1 mais um número inteiro aleatório no intervalo [-15,5].
Você pode mesclar o menos 1 no número inteiro aleatório, permitindo o intervalo [-16,4].
As faixas podem ser exclusivas, portanto menos um mais (-16,6) ou (-17,5).
Os números inteiros aleatórios não precisam ser distribuídos uniformemente, apenas precisam ser possíveis.
O programa sempre começa com 99 bugs.
Você pode ignorar o erro gramatical de "1 erro".
O programa deve parar quando o número de bugs for 0 ou negativo e imprimir
0 erros no código
Nunca deve haver um número negativo de bugs. O final deve parecer
Y erros no código
Y erros no código
Pegue um e remova-o
0 erros no código
(linha em branco)
0 erros no código
Uma nova linha à direita é aceitável.
- Seu código pode ser um programa completo ou uma função.
- Não há entrada.
- A saída deve ser stdout ou retornada.
- Avisos / erros nos logs / STDERR são válidos desde que STDOUT possua o texto necessário. Veja aqui para mais informações.
Isso é código-golfe, portanto o código mais curto em bytes vence.
Saída de exemplo
Saída de exemplo de caixa de colagem criada para -11 erros cada vez