Herausforderung
Ihre Aufgabe ist es, einen Code zu schreiben, der einen anderen Code ausgibt. Dieser Code muss wiederum einen weiteren Code ausgeben, bis der endgültige Code die Ganzzahl 1 ausgibt . Die Kette endet mit der ersten Ausgabe von 1 .
Keines Ihrer Programme darf Zeichen gemeinsam haben (es gibt eine Ausnahme im Abschnitt Regeln).
Die Gewinner-Einsendung ist die Einsendung mit der längsten Kette. Der Tie-Breaker hat die kürzeste Gesamtcodelänge.
Regeln:
- Sie können sowohl Funktionen als auch Programme und Snippets verwenden. Sie können eine REPL-Umgebung annehmen.
- Alle Funktionen müssen in derselben Sprache geschrieben sein
- Symbolunabhängige Sprachen sind nicht erlaubt. Dies schließt teilweise symbolunabhängige Sprachen wie Headsecks ein.
- Die Standardausgabeformatierung kann optional in der Ausgabe einer Funktion ignoriert werden. Dies schließt Zeilenumbrüche
ans =
usw. ein. - Sie können das Leerzeichen (ASCII-Code Punkt 32) wiederverwenden, beachten Sie jedoch Folgendes:
- Sie können in einer der Funktionen beliebig viele Leerzeichen verwenden, in allen anderen Funktionen jedoch maximal 5
- Sie können keine Zeichen wiederverwenden, wenn Code-Punkt 32 in Ihrer Sprache kein Leerzeichen enthält.
Keines der Programme darf Eingaben annehmen
Die Kette muss mindestens zwei Programme lang sein.
Beispiel:
Ihr anfänglicher Code ist abc+cab+bac
. Dieser gibt aus foofoo*123
, welcher wiederum disp(~0)
welche ausgibt 1
. Dies ist eine Kette von 3 Programmen mit einer kombinierten Länge von 29 (Tie Breaker).
2^3
, das nur zu bewerten wäre 1
, oder muss es sein , zB lambda:2^3
, print(2^3)
usw.?
1
dies sowohl ein Programm als auch die Ausgabe dieses Programms sein, oder endet die Kette, wann 1
die Ausgabe erfolgt?