(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
Probieren Sie es online!
Da jeder seine 50-Byte-Lösungen hier veröffentlicht, ist es meine (ich habe eine 48- Byte-Lösung, aber es war eine einfache Modifikation von DjMcMayhem, so dass ich es für sinnvoll hielt, sie zu veröffentlichen)
Erläuterung
In dieser Antwort wird häufig die Wertekompensation verwendet.
Ohne Golf sieht es aus
([][()])({<{}({}[({})])>{<{}>()(<()>)}{}<([][()])>}<>)
Hier berechnen wir die Deltas, bis der Stapel ein Element übrig hat, jedes Mal, wenn wir einen Wert aus der inneren Schleife akkumulieren, wenn das Delta nicht Null ist.
Dies ist ein ziemlich direkter Weg, dies zu tun.
Um diesen Golf zu spielen, beginnen wir mit der Wertaufhebung. Der erste und derjenige, der für gehärtete Brain-Flak-Golfer offensichtlich sein sollte, sind die Stapelhöhen. Es ist eine bekannte Tatsache, dass
([])({<{}>...<([])>}{})
ist das gleiche wie
(([]){[{}]...([])}{})
Wenn die Werte um eins geändert werden, gilt dasselbe. Das gibt uns
(([][()]){[{}]<({}[({})])>{<{}>()(<()>)}{}([][()])}<>)
Sie werden vielleicht bemerken, dass uns dies nicht einmal Bytes erspart hat, aber ärgern Sie sich nicht, dass es im weiteren Verlauf nützlicher wird.
Wir können eine weitere Reduktion durchführen, wenn Sie eine Aussage sehen
<(...)>{<{}> ...
Sie können es tatsächlich reduzieren
[(...)]{{} ...
Dies funktioniert, weil, wenn wir in die Schleife eintreten [(...)]
und {}
abbrechen, und wenn wir dies nicht tun, der Wert von [(...)]
bereits an erster Stelle Null war und nicht abgebrochen werden muss. Da dieses Muster in unserem Code vorkommt, können wir es reduzieren.
(([][()]){[{}][({}[({})])]{{}()(<()>)}{}([][()])}<>)
Das hat uns 2 Bytes gespart, aber auch zwei Negative nebeneinander gelegt. Diese können kombiniert werden, um uns weitere 2 zu ersparen.
(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
Und das ist unser Code.
False
wird stattdessen gedruckt?