Herausforderung:
Schreiben Sie einen Code, der bei Ausführung den Quellcode eines zweiten Programms ausgibt, das in einer anderen Sprache ausgeführt werden kann. Das zweite Programm sollte den Quellcode eines dritten Programms ausgeben, das in einer dritten Sprache usw. ausgeführt werden kann. Das letzte Programm sollte PPCG
mit einem optionalen einfachen Zeilenumbruch ausgegeben werden.
Gewinner ist die Einsendung mit den meisten Sprachen. Die Codelänge des ersten Programms ist der Unentschieden.
Wichtige Regeln:
- Kein Programm kann identisch sein
- Jede Sprache darf nur mit einem der Quellcodes funktionieren. Es sollte unmöglich sein, dieselbe Sprache an zwei Stellen in der Kette zu verwenden, ohne sie zu unterbrechen (siehe Beispiele) .
- Eine verkürzte Kette ist keine gebrochene Kette. Wenn Sie eine Sprache an einer anderen als der vorgesehenen Stelle verwenden können und das Endergebnis immer noch PPCG ist, ist sie ungültig
- Alle Versionen einer Sprache gelten als eindeutige Sprachen (beachten Sie jedoch Regel 2).
Beispiele:
Eine ungültige Einreichung:
print("""print'disp("PPCG")'""")
- Python 3:
print("""print'disp("PPCG")'""")
drucktprint'disp("PPCG")'
- Python 2:
print'disp("PPCG")'
drucktdisp("PPCG")
- Oktave:
disp("PPCG")
drucktPPCG
Das funktioniert einwandfrei, aber: Sie können sowohl den ersten als auch den zweiten Code in Python 2 ausführen, ohne die Kette zu unterbrechen, was gegen Regel 2 verstößt.
Eine gültige Einsendung mit Punktzahl 3:
print("""print'disp("PPCG")'""")
- Python 3:
print("""print'disp("PPCG")'""")
drucktprint'disp("PPCG")'
- Perl:
print'disp("PPCG")'
drucktdisp("PPCG")
- Oktave:
disp("PPCG")
drucktPPCG
Dies ist genau derselbe Code wie im ungültigen Beispiel. Der Unterschied besteht darin, dass wir Sprachen ausgewählt haben, die der Regel 2 entsprechen: Sie können den ersten Code nicht in Perl / Octave, den zweiten Code in Python 3 / Octave oder den letzten Code in Python 3 / Perl ausführen. Dies gilt auch, wenn Python 2 die beiden ersten Programme ausführen kann, da Python 2 nicht als eine der Sprachen verwendet wurde.