Wir alle kennen oder haben zumindest von Brainfuck gehört , einer der bekanntesten und einflussreichsten esoterischen Sprachen. Während heutzutage die meisten Implementierungen ein unendliches Band verwenden, hatte der ursprüngliche Compiler von Urban Müller ein Band mit 30000 Zellen. Eine wenig bekannte Tatsache * ist, dass es am Ende des Bandes einen speziellen Wert gibt, mit dem in einem typischen Brainfuck-Programm so gut wie nie interagiert wird.
Während Sie diesen Wert mit 29999 >
s und a ausgeben können .
, ist brainfuck für seine kurzen und präzisen Lösungen bekannt. Daher ist es Ihr Ziel, diesen Wert mit der Mindestanzahl von Zeichen auszudrucken.
*Fiktion
Regeln:
- Eine Auffrischung der Brainfuck-Anleitung:
+
/-
: Inkrementiert / dekrementiert die aktuelle Zelle und hüllt sie von 255 auf 0 auf, wenn 255 inkrementiert wird, und umgekehrt<
/>
: Bewegen Sie den Zeiger auf dem Band nach links / rechts.
: Gibt den Wert der aktuellen Zelle aus.[
: Springe zum entsprechenden]
Wert, wenn der Wert in der Zelle 0 ist]
: Zum entsprechenden springen,[
wenn der Wert in der Zelle nicht 0 ist
- In diesem Fall hat
,
(Get input) keine Auswirkung, da der ursprüngliche Compiler die Zelle in EOF unverändert lässt und dieses Programm keine Eingaben erhalten sollte. - Das Band ist anfänglich mit allen Nullen gefüllt, mit Ausnahme der Zelle 30000, die einen unbekannten Wert enthält
- Der Zeiger beginnt in Zelle 1 und sollte in Zelle 30000 enden, nachdem er gedruckt wurde.
- Die Zellen links von 1 und rechts von 30000 weisen ein undefiniertes Verhalten auf. Daher sollten Lösungen diese Zellen nicht besuchen.
- Beachten Sie, dass der Wert bei 30000
istkann eine 0 sein , so einfach Looping , bis Sie eine Nicht-Null - Zelle getroffen wird nicht funktionieren. - Sie sollten nur den Wert in Zelle 30000 drucken
- Die kürzeste Lösung gewinnt!
- Tie-Breaker ist das effizientere Programm (wird in den wenigsten Schritten ausgeführt), gefolgt von der schnellsten Einreichungszeit.
Tipp: Esolanging Fruit empfiehlt die Verwendung von https://copy.sh/brainfuck zum Testen Ihres Codes. Die technischen Daten entsprechen den Angaben in dieser Herausforderung. Sie können die abort
Option so auswählen, dass Ihr Programm angehalten wird, wenn die Grenzen überschritten werden.
.
. Ich gewinne.