Ein halbes zyklisches Kardinalquin ist ein zyklisches Quin mit zwei zueinander senkrechten Zuständen.
Regeln
Sie können entscheiden, welche Drehung Sie im oder gegen den Uhrzeigersinn ausführen möchten.
Nach dem Drehen sollten alle Lücken im Code durch Leerzeichen ersetzt werden, um die Positionierung beizubehalten.
Ihr Programm muss der Community-Definition eines Quines entsprechen .
Dies ist Code-Golf, so dass das kürzeste Programm in jeder Sprache gewinnt. Ihr erstes Programm wird für Ihre Byteanzahl verwendet.
Standardlücken sind verboten.
Beispiele
Wenn Ihr Programm ist:
$_='print';eval
Dann muss die nächste Iteration entweder:
$
_
=
'
p
r
i
n
t
'
;
e
v
a
l
oder
l
a
v
e
;
'
t
n
i
r
p
'
=
_
$
welches das ursprüngliche Programm ausgeben muss:
$_='print';eval
Wenn Ihr Programm ist:
;$_=';
;$_=';
print
Dann muss die nächste Iteration entweder:
;;
''t
==n
__i
$$r
;;p
oder:
p;;
r$$
i__
n==
t''
;;
welches das ursprüngliche Programm ausgeben muss:
;$_=';
;$_=';
print
quelle
Antworten:
CJam ,
191715 BytesProbieren Sie es online! Probieren Sie die Rotation.
Erläuterung
Im gedrehten Code gibt es überall Zeilenvorschübe:
Wie Lynn bei Doms früherer Quine-Challenge bemerkte, bildet das Einfügen von Zeilenvorschüben immer noch eine gültige Quine, da die Zeilenvorschübe im Block ohnehin wörtlich beibehalten werden und es auch Zeilenvorschübe in der
"_~"
Zeichenfolge gibt, damit diese beiden Zeichen am Ende auf ihren Zeilenvorschüben erscheinen eigene Linie. Also{s"_~"+...}_~
(mit Zeilenvorschub) ist immer noch ein gültiges Quine-Framework (obwohl es einen zusätzlichen Zeilenvorschub am Ende des Strings geben wird).N*
Jetzt werden noch mehr Zeilenvorschübe in diese Zeichenfolge eingefügt, aber das ist uns eigentlich egal: weil jetzt""-
dieser String einen Zeilenvorschub enthält, werden alle Zeilenvorschübe aus der Programmdarstellung entfernt. Also haben wir wieder die horizontale Form des Codes und machen die Drehung rückgängig.quelle
Stax , 28 Bytes
Führen Sie das erste Formular aus, und debuggen Sie
Führen Sie das zweite Formular aus, und debuggen Sie
quelle
> <> 22 Bytes
Probieren Sie es online!
Gegen den Uhrzeigersinn gedreht:
Probieren Sie es online!
Der erste druckt die Zeile mit eingestreuten Zeilenumbrüchen in umgekehrter Reihenfolge und der zweite ohne die Zeilenumbrüche in umgekehrter Reihenfolge.
quelle
05AB1E ,
3634 BytesVersuchen Sie die erste Iteration oder versuchen Sie die nächste Iteration
quelle