Cree un programa cat, también conocido como un programa que toma una entrada y la imprime.
... Excepto, el programa alejará aleatoriamente los caracteres de su entrada e imprimirá eso en su lugar.
Sin embargo, cada personaje en la entrada debe tener probabilidades generalmente iguales para eliminarse con el programa, ya que es difícil hacerlo, las probabilidades para cada personaje pueden variar en un 10% como máximo.
Su programa debe tomar la entrada, luego eliminar aleatoriamente los caracteres de la entrada, luego imprimir esa versión nuevamente. (Puede imprimir con líneas nuevas u otros caracteres en caso de que su idioma tenga que imprimir líneas nuevas).
Si la entrada fue BOOOWL
, no debería eliminar todos los Os con la misma posibilidad: se debe considerar cada carácter (no único), por lo que en lugar de que cada O combinado tenga una probabilidad de 1/5 (por ejemplo), cada O debería tener un 1 / 5 oportunidad, así que, en lugar de haber una posibilidad de 1/5 BWL
, debe haber una posibilidad de 1/5 BOWL
, BOOWL
.
La entrada está restringida a STDIN o equivalente más cercano.
Cada personaje debe tener un mínimo de 10% y un máximo de 30% de probabilidad de ser eliminado.
Las probabilidades de cada personaje deben calcularse individualmente.
Puede usar cualquier componente de su lenguaje que admita acciones aleatorias, ya sean funciones u otra.
La salida debe ser a través de STDOUT o el equivalente más cercano. Si su idioma tiene STDOUT, no lo envíe de ninguna otra manera. Si su idioma no puede generar cadenas como texto, use el equivalente más cercano (la salida de la matriz de caracteres de C está bien aquí).
Este es el código de golf. El programa más corto gana.
BOWL OF SOUP
podrían O
eliminarse todas de una sola vez?
Output must be through STDOUT, as a text. Do not output a character array.
<- Tengo un lenguaje que le permite generar una matriz de caracteres (se aplana antes de la salida). ¿Eso no está permitido? ¿Qué hay de lenguajes como C, donde una cadena es básicamente una matriz de caracteres?