Ihr Freund versucht, in ein Gewölbe einzubrechen, das über ein besonderes Schließsystem verfügt: Es erfordert eine bestimmte Anzahl sanfter Schläge an einer bestimmten Stelle. Ihr Freund hat die Nummer entdeckt (die im Bereich von 1 ... 99999 liegt) und besitzt ein Gerät, das die erforderlichen Klopfen erzeugt. Das Gadget ist jedoch ein Brainfuck-Dolmetscher! Ihr Freund muss ihm also ein Brainfuck-Programm geben, das natürlich so kurz wie möglich sein sollte (die E / A des Gadgets ist langsam).
Ihre Aufgabe ist es, ihm zu helfen! Schreiben Sie ein Programm oder eine Unterroutine in einer beliebigen Sprache, die eine Zahl als Eingabe akzeptiert N
und ein Brainfuck-Programm ausgibt, das keine Eingabe akzeptiert und eine Zeichenfolge druckbarer ASCII-Zeichen ausgibt (mit Ausnahme der Leerzeichen - Codes im Bereich 33 ... 126) der Länge N
.
Beispiel: Für die Eingabe 10
könnte die Ausgabe sein
+++++++++++++++++++++++++++++++++..........
(aber ich bin sicher, dass es verkürzt werden kann!)
Ihre Punktzahl ist die Summe der Längen Ihrer Ausgaben für die folgenden Werte von N
(es handelt sich um Zufallszahlen):
55
68
15
28
841
838
522
846
4898
9004
9363
3810
13230
67175
37231
44701
Oh, und Sie werden Ihren Code (das Generatorprogramm) per Twitter an Ihren Freund senden. Stellen Sie also sicher, dass es maximal 140 Zeichen sind !
PS Die Brainfuck-Sprache hat viele Varianten. Nehmen wir an, das Band ist in beide Richtungen unendlich (oder "kreisförmig und groß genug") und die Zellen haben eine 32-Bit-Int-Kapazität (endlich und in der Lage, Zahlen bis zu 99999 aufzunehmen). Auch kein Wrapping: Wenn eine Zelle überläuft, zerstört sich die Maschine selbst!