Su tarea es crear un programa que agregue números aleatorios a sumas anteriores en el último enfrentamiento de carreras de números.
Cada corredor (columna) comienza en 0 y agrega 1 o 0 a la suma anterior en cada paso de la carrera hasta que todos los corredores alcancen el puntaje requerido para ganar. El 1 o 0 se debe elegir al azar (la definición estándar de aleatorio se puede encontrar aquí ). La salida mostrará el resultado de la carrera, con cada columna representando un corredor, en este formato:
>> racers:5,score needed:2
0 0 0 0 0 # all racers start at 0
+ + + + + # add
1 0 0 0 1 # random 1 or 0
= = = = = # equals
1 0 0 0 1 # sum
+ + + + +
0 0 0 0 1
= = = = =
1 0 0 0 2 # winner!
+ + + +
1 1 1 1
= = = =
2 1 1 1
+ + +
1 1 1
= = =
2 2 2 # losers
Nota: solo los números, + y = deben incluirse en la salida.
Entrada
Su programa aceptará los siguientes dos parámetros como entrada:
- El número de corredores (columnas), que debe ser mayor que dos
- el puntaje requerido para ganar, que debe ser mayor que uno
Esto es code-golf: el programa con menos bytes gana.
Editar: hay un puntaje máximo no exigible de 9, esto es para preservar la integridad de la columna. Además, los espacios entre columnas se pueden omitir en la salida.