Crie um programa para gatos, também conhecido como programa que recebe uma entrada e a imprime.
... Exceto que o programa retirará aleatoriamente os caracteres da sua entrada e os imprimirá.
Cada caractere na entrada deve ter probabilidades geralmente iguais para serem removidas com o programa, porém, como é difícil fazer isso, as probabilidades para cada caractere podem variar em 10%, no máximo.
Seu programa deve receber a entrada, remover aleatoriamente caracteres da entrada e imprimir essa versão novamente. (Você pode imprimir com novas linhas à direita ou outros caracteres, caso o seu idioma precise imprimir novas linhas.)
Se a entrada foi BOOOWL
, ela não deve remover todos os O com uma chance igual: cada caractere (não único) deve ser considerado; portanto, em vez de cada O combinado ter uma chance de 1/5 (por exemplo), cada O deve ter 1 / 5 chance, então, em vez de haver uma chance de 1/5 BWL
, deve haver uma chance de 1/5 BOWL
, BOOWL
.
A entrada é restrita a STDIN ou equivalente mais próximo.
Cada personagem deve ter no mínimo 10% e no máximo 30% de chance de ser removido.
As probabilidades de cada personagem devem ser calculadas individualmente.
Você pode usar qualquer componente do seu idioma que suporte ações aleatórias, sejam elas funções ou qualquer outra coisa.
A saída deve ser através de STDOUT ou o equivalente mais próximo. Se o seu idioma tiver STDOUT, não faça saída de nenhuma outra maneira. Se o seu idioma não puder gerar seqüências de caracteres como texto, use o equivalente mais próximo (a saída da matriz de caracteres de C está OK aqui).
Isso é código de golfe. O programa mais curto vence.
BOWL OF SOUP
todos poderão O
ser excluídos de uma só vez?
Output must be through STDOUT, as a text. Do not output a character array.
<- Eu tenho uma linguagem que permite a saída de uma matriz de caracteres (ela é achatada antes da saída). Isso não é permitido? E linguagens como C, onde uma string é basicamente uma matriz de caracteres?