In dieser Herausforderung werden Sie ein Programm entwickeln, das im Laufe der Zeit wächst ... Bis es 2017 ist.
Herausforderung
Wann immer diese Herausforderungsbeschreibung "Programm" sagt, können Sie auch "Funktion" lesen.
Wenn Ihre Übermittlung ausgeführt wird, wird ein Programm ausgegeben, das THE LENGTH OF YOUR SUBMISSION
+ 1
Bytes lang ist.
Wenn dieses Programm ausgeführt wird, wird ein Programm ausgegeben, das THE LENGTH OF YOUR SUBMISSION
+ 2
Byte lang ist ... und so weiter.
Allerdings , wenn Ihr Programm hat eine Länge von 2017 Bytes erreicht, muss er stattdessen Ausgang 2017
und Ausgang.
Regeln
- Die Ausgabe des endgültigen Programms muss
2017
und nur2017
. Es kann ein String oder eine ganze Zahl sein, aber es muss lesen2017
und nicht2017.0
oder0x7E1
oder ein anderer solcher Unsinn. - Keine Standardlücken .
- Nur Ihr erstes Programm darf Eingaben erfordern, die Ihrem bytecount hinzugefügt werden.
Wenn Ihr ursprüngliches Programm also 324 Zeichen lang ist und eine Eingabe von 13 Bytes erfordert, beträgt Ihre Gesamtpunktzahl 324 + 13 = 337, und das von ihm ausgegebene Programm muss 338 Bytes lang sein.- Die Verwendung von Befehlszeilen-Flags (z. B.
perl -X
) ist jedoch in Ordnung - solange Ihr erstes Programm sowie alle generierten Programme dieselben Flags verwenden. Auch sie zählen zum gesamten bytecount. Striche, Schrägstriche usw. vor einem Befehlszeilen-Flag zählen nicht zur Gesamtsumme, z. B.perl -X
als ein zusätzliches Byte.
- Die Verwendung von Befehlszeilen-Flags (z. B.
- Wenn Sie eine Funktion zurückgeben, sollte es sich um eine tatsächliche Funktion und nicht um eine Zeichenfolge handeln, die bei der Auswertung eine Funktion erzeugt.
- Unsachgemäße Quines (wenn es sich bei Ihrem Programm um ein Quine handelt) sind nicht zulässig.
Beispiel
Pseudocode, 99 Bytes
IF (PROGRAM LENGTH == 2017) PRINT 2017 ELSE PRINT (THE SOURCE OF THIS PROGRAM + 1 BYTE PADDING)
Ihre Übermittlung funktioniert möglicherweise anders, sofern sie den oben genannten Regeln entspricht.
;;;
erlaubt?