(Inspiriert von den 95 ASCII-Zeichen ... 95 Filmzitaten )
Die Herausforderung
Bei Eingabe n
die nth
Fibonacci-Zahl ausgeben . Sie können entweder 0
oder 1
indizieren, bitte geben Sie an, welche in Ihrem Beitrag. Einfach, ja? Der Haken ist, dass Sie den Zeichensatz der unmittelbar vorhergehenden Antwort nehmen, zwei Zeichen daraus entfernen und ein separates Zeichen hinzufügen müssen. Das separate Zeichen muss
- nicht aus dem Zeichensatz der unmittelbar vorhergehenden Antwort stammen
- aus dem Satz von (druckbare ASCII, Leerzeichen, Zeilenvorschub, horizontale Registerkarte)
und daher ist Ihre Gesamtgröße des Zeichensatzes genau eine Nummer kleiner als der unmittelbar vorhergehende Antwortsatz.
Die anfängliche Antwort
Die erste Übermittlung muss eine Teilmenge von (alle druckbaren ASCII-Zeichen, Leerzeichen, Zeilenumbrüche und horizontalen Tabulatoren) enthalten, wobei zwei Zeichen entfernt werden müssen. Jede spätere Einreichung muss ihre Antworten auf dieses Original-ASCII-Format beschränken (dh Sie können kein Unicode- oder erweitertes ASCII-Zeichen hinzufügen ... sorry Jelly, APL, et al.).
Beispiele und Erläuterungen
- Angenommen, die erste Antwort befindet sich in C und enthält (fast alle druckbaren ASCII-, Zeilen- und horizontalen Tabulatoren) und lässt das
%
und^
aus seinem Zeichensatz weg . Bei der zweiten Übermittlung müssen dann zwei Zeichen aus dem vorherigen Zeichensatz (fast alle druckbaren ASCII-, Zeilen- und horizontalen Zeichen) entfernt und entweder das%
oder hinzugefügt werden^
. Vielleicht ist es eine einzeilige PowerShell-Antwort, bei der die Zeilenumbrüche weggelassen werden. Und so weiter. - Wenn die vorherige Antwort
print(){}!*+
einen Zeichensatz (12 Zeichen) hätte, könnte Ihr Beitragprint(){}!
(10 Zeichen) und ein zusätzliches Zeichenprint(){!+
(10 Zeichen) und ein zusätzliches Zeichen usw. enthalten. - Wenn die vorherige Antwort
print(){}!*+
einen Zeichensatz (12 Zeichen) hatte, konnte Ihr Beitrag seitdem nichtprint()
und&
(8 Zeichen) als Zeichensatz haben12 - 8 > 1
. - Wenn die vorherige Antwort hatte
print(){}!*+
als Zeichensatz (12 Zeichen), könnte Ihre Vorlage nicht hatprint(){}!
(10 Zeichen) plus zusätzliche Zeichen*
als Zeichensatz, da obwohl die 11 Zeichen ist, die*
in dem vorherigen Satz enthalten ist. - Nicht jedes Zeichen in Ihrem Zeichensatz muss etwas Nützliches für Ihre Einreichung tun. Wenn beispielsweise die vorherige Antwort
print(){}!*+
als Zeichensatz verwendet wurde und Ihre Sprache über eine integrierte Funktion verfügt!
, die die Fibonacci-Sequenz berechnet und#
einen Kommentar startet, ist Ihre Übermittlung möglicherweise!#print(){}
noch gültig. - Sie können dasselbe Zeichen aus Ihrem Zeichensatz mehrmals verwenden. Angenommen, Ihr Zeichensatz war
!*#_
, Ihre Antwort könnte!!!**#**#_!!
akzeptabel sein und wäre akzeptabel. - Bitte führen Sie zusätzlich zu Ihrem Code (und auch eine Erklärung ist nett!) Explizit Ihren Zeichensatz auf, um ihn für zukünftige Einreichungen zu vereinfachen.
Gewinnen
Der Gewinner der Herausforderung ist die Person, die den zweitletzten Beitrag gepostet hat (dh nicht die Person, die zuletzt gepostet hat, da sie die Kette gebrochen hat).
Endgültige Regeln
Es gelten die üblichen Regeln für die Verkettung von Antworten :
- Dieselbe Person kann nicht zweimal hintereinander posten
- Wenn eine Antwort als ungültig eingestuft wird (z. B. ein verbotenes Zeichen verwendet oder nicht korrekt berechnet wurde), muss sie gelöscht werden (und alle nachfolgenden Antworten, die ebenfalls darauf verweisen).
- Zwei Benutzer, die "zur gleichen Zeit" posten, müssen die frühere Einreichung stehen lassen
- Dieselbe Sprache kann nicht zweimal hintereinander gepostet werden. Für die Zwecke dieser Regel gelten Sprachen derselben Familie (z. B. Python 2 und Python 3) als "dieselbe Sprache".
Letzte Dinge:
- Dieser Beitrag funktioniert am besten, wenn Sie nach "Ältesten" sortieren, damit die Antworten in der richtigen Reihenfolge angezeigt werden.
- Kyle Gullion hat hier in Python einen Code-Checker erstellt , um zu überprüfen, ob Sie vermisst werden oder falsche Zeichen verwenden.