Tu amigo está tratando de entrar en una bóveda que tiene un sistema de bloqueo peculiar: requiere una cierta cantidad de golpes suaves en un lugar en particular. Su amigo descubrió el número (que está en el rango de 1 ... 99999) y posee un dispositivo que produce los golpes necesarios. Sin embargo, ¡el dispositivo es un intérprete de Brainfuck! Por lo tanto, su amigo necesita alimentarlo con un programa Brainfuck, que, obviamente, debe ser lo más corto posible (la E / S del dispositivo es lenta).
¡Tu tarea es ayudarlo! Escriba un programa o una subrutina, en cualquier idioma, que acepte como entrada un número N
, y genere un programa Brainfuck, que no recibe ninguna entrada y genera una cadena de caracteres ASCII imprimibles (excluyendo el carácter de espacio - códigos en el rango 33 ... 126) de longitud N
.
Ejemplo: para la entrada 10
, la salida podría ser
+++++++++++++++++++++++++++++++++..........
(¡pero estoy seguro de que se puede acortar!)
Su puntaje será la suma de las longitudes de sus resultados para los siguientes valores de N
(son números aleatorios):
55
68
15
28
841
838
522
846
4898
9004
9363
3810
13230
67175
37231
44701
Ah, y Twitter transmitirá su código (el programa generador) a su amigo. ¡Así que asegúrate de que tenga 140 caracteres o menos!
PD: el lenguaje Brainfuck tiene muchas variantes. Supongamos que la cinta es infinita en ambas direcciones (o "circular y lo suficientemente grande"), y las celdas tienen una capacidad int de 32 bits (finita y capaz de contener números de hasta 99999). Además, sin envoltura: cuando una celda se desborda, ¡la máquina se autodestruye!