Crane-Flak , Score 3 (252 Byte)
%&'()%&%X'Z&xx\()'()z%xz|%&'()%&'()%&'()9;=&'()9;=%XZ\&'z|%&'(9;=(9;=%&'XZ\(|xz|9;=%&'%&(%X'Z&\('()xxz%xz|9;=&'()9;=%XZ\&'z|9;=(9;=%&'XZ\(|9;=)))))))%&Y[]'()yy{}%&y{}%&'()%&'():<>'():<>%&Y[]'(){}y{}:<>%&Y[]'()yy{}::<><>:<>%&y{}:<>'():<>%&Y[]'(){}::<><>
Probieren Sie es online!
(Funktioniert nicht ganz in Brain-Hack, da nur Crane-Flak Mods von 256)
Um 1 verschoben
&'()*&'&Y(['yy])*()*{&y{}&'()*&'()*&'()*:<>'()*:<>&Y[]'({}&'():<>):<>&'(Y[])}y{}:<>&'(&')&Y(['])()*yy{&y{}:<>'()*:<>&Y[]'({}:<>):<>&'(Y[])}:<>*******&'Z\^()*zz|~&'z|~&'()*&'()*;=?()*;=?&'Z\^()*|~z|~;=?&'Z\^()*zz|~;;=?=?;=?&'z|~;=?()*;=?&'Z\^()*|~;;=?=?
Probieren Sie es online!
Um 2 verschoben
'()*+'('Z)\(zz^*+)*+|'z|~'()*+'()*+'()*+;=?()*+;=?'Z\^()|~'()*;=?*;=?'()Z\^*~z|~;=?'()'(*'Z)\(^*)*+zz|'z|~;=?()*+;=?'Z\^()|~;=?*;=?'()Z\^*~;=?+++++++'([]_)*+{{}'({}'()*+'()*+<>@)*+<>@'([]_)*+}{}<>@'([]_)*+{{}<<>@>@<>@'({}<>@)*+<>@'([]_)*+}<<>@>@
Probieren Sie es online!
Verschoben um 3
()*+,()([*]){{_+,*+,}({}()*+,()*+,()*+,<>@)*+,<>@([]_)*}()*+<>@+<>@()*[]_+{}<>@()*()+([*])_+*+,{{}({}<>@)*+,<>@([]_)*}<>@+<>@()*[]_+<>@,,,,,,,()\^`*+,||~€()|~€()*+,()*+,=?A*+,=?A()\^`*+,~€|~€=?A()\^`*+,||~€==?A?A=?A()|~€=?A*+,=?A()\^`*+,~€==?A?A
Probieren Sie es online!
Erläuterung
Der Hauptcode bei der Arbeit ist hier
([]){{}({}n<>)<>([])}{}<>([]){{}({}<>)<>([])}<>
wo n
ist eine willkürliche Zahl. Dies verschiebt alles in den Offstack und fügt es n
zu jedem Element hinzu (Modulo 256 ist bei der Ausgabe impliziert) und verschiebt sie dann alle zurück.
Für das erste Programm (dh um 0 verschoben) brauchen wir dies jedoch nicht zu tun, da das Verschieben um Null das cat-Programm ist. Also fangen wir mit diesem Code an:
([]){{}({}()<>)<>([])}{}<>([]){{}({}<>)<>([])}<>
und verschiebe es um 1 nach unten
'Z\(zz|'z|m;=(;='Z\(|z|;='Z\(zz|'z|;=(;='Z\(|;=
Dies ist unausgeglichen, daher müssen wir es beheben. Es gibt eine Reihe von Möglichkeiten, wie wir dies mit meiner Auswahlmethode tun können (aus Gründen, die sich später herausstellen werden):
'Z\(zz|'z|m;=(;='Z\(|z|;='Z\(zz|'z|;=(;='Z\(|;=)))))){}{}{}{}{}
Wenn wir dies um 2 erhöhen, erhalten wir
)\^*||~)|~o=?*=?)\^*~|~=?)\^*||~)|~=?*=?)\^*~=?++++++}}}}}
Da ()
es einfacher ist, damit umzugehen, als {}
wir es verwenden werden }
, um das von uns gewünschte Programm zu vervollständigen. Das bedeutet, dass das )
mit ziemlich offensichtlichen Mitteln ausgeglichen werden kann. Mit einigem Geigen können wir daraus machen:
()\^*||~()|~()*=?*=?()\^*~|~=?()\^*||~()|~=?*=?()\^*~=?+++++++([]_)*+{{}({}()*+()*+<>@)*+<>@([]_)*+}{}<>@([]_)*+{{}<<>@>@<>@({}<>@)*+<>@([]_)*+}<<>@>@
Wenn wir das wieder nach unten verschieben, erhalten wir
&'Z\(zz|&'z|&'(;=(;=&'Z\(|z|;=&'Z\(zz|&'z|;=(;=&'Z\(|;=)))))))&Y[]'()yy{}&y{}&'()&'():<>'():<>&Y[]'(){}y{}:<>&Y[]'()yy{}::<><>:<>&y{}:<>'():<>&Y[]'(){}::<><>
Der Schritt bis 3 ist so komplex, dass ich ihn nicht mehr richtig verstehe. Ich habe die gleiche Technik angewendet und nur herumgespielt, bis ich endlich alle 4 auf einmal zum Arbeiten gebracht habe. Die Technik ist so ziemlich die gleiche, es wird nur viel mehr herumgespielt.