Crea un programma per gatti, noto anche come programma che accetta un input e lo stampa.
... Tranne, il programma toglierà casualmente i caratteri dal tuo input e lo stamperà invece.
Ogni personaggio nell'input dovrebbe avere generalmente le stesse probabilità di essere rimosso con il programma, sebbene, dato che è difficile farlo, le probabilità per ciascun personaggio possano variare al massimo del 10%.
Il programma dovrebbe prendere l'input, quindi rimuovere casualmente i caratteri dall'input, quindi stampare di nuovo quella versione. (Puoi stampare con nuove righe finali o altri caratteri nel caso in cui la tua lingua debba stampare nuove righe.)
Se l'input fosse BOOOWL
, non dovrebbe rimuovere tutte le O con uguale probabilità: ogni carattere (non unico) dovrebbe essere considerato, quindi invece di ogni O combinata con una possibilità di 1/5 (ad esempio), ogni O dovrebbe avere un 1 / 5 possibilità, quindi, invece di 1/5 possibilità di BWL
, dovrebbe esserci 1/5 possibilità di BOWL
,BOOWL
.
L'input è limitato a STDIN o equivalente più vicino.
Ogni personaggio deve avere un minimo del 10% e un massimo del 30% di probabilità di essere rimosso.
Le probabilità di ogni personaggio devono essere calcolate individualmente.
Puoi usare qualsiasi componente della tua lingua che supporti azioni casuali, sia esso funzioni o qualcos'altro.
L'output deve essere tramite STDOUT o l'equivalente più vicino. Se la tua lingua ha STDOUT, non eseguire l'output in nessun altro modo. Se la tua lingua non può generare stringhe come testo, usa l'equivalente più vicino (qui l'output dell'array di caratteri C è OK).
Questo è il codice golf. Vince il programma più breve.
BOWL OF SOUP
tutti possono O
essere eliminati in una volta sola?
Output must be through STDOUT, as a text. Do not output a character array.
<- Ho una lingua che ti permette di produrre un array di caratteri (viene appiattito prima dell'output). È vietato? Che ne dici di linguaggi come C, dove una stringa è fondamentalmente una matrice di caratteri?