Einführung
Pareidolia : Aus dem Altgriechischen; παρα ( para , "nebeneinander") + εἴδωλον ( eídōlon , "Bild"). Die Tendenz, einen vagen Reiz als etwas zu interpretieren, das dem Betrachter bekannt ist, z. B. Markierungen auf dem Mars als Kanäle zu interpretieren, Formen in Wolken zu sehen oder versteckte Botschaften in der Musik zu hören. Quelle: Wiktionary .
Beispielsweise:
Paralogia : Aus dem Altgriechischen; παρα ( para , "nebeneinander") + λόγος ( lógos , "Rede, Rede, Wort, ..."). Die Tendenz, Wörter in willkürlichen Folgen von Zeichen wahrzunehmen, beispielsweise in Code-Golf-Programmen. Quelle: Ja, das habe ich erfunden (eigentlich bedeutet das Wort etwas anderes erfunden , wie von @Martin hervorgehoben).
Beispielsweise:
df4$/H)hEy_^p2\
jtK2$)look|x1$
Herausforderung
Schreiben Sie ein Programm, das eine positive Ganzzahl als Eingabe, eine Ganzzahl als Ausgabe und ein englisches Wort als Teil des Codes verwendet. Die Eingabe-Ausgabe-Beziehung muss einer Ganzzahlsequenz entsprechen, die in OEIS zu finden ist .
Regeln
- Nur Wörter aus dieser Liste erlaubt. Dies ist zwar willkürlich, aber es ist wichtig, dass wir uns alle darüber einig sind, welche Wörter akzeptiert werden. und in dieser Hinsicht ist diese Liste wahrscheinlich so gut wie jede andere.
- Wörter müssen durch Verketten von mindestens zwei Funktionsnamen oder Anweisungen gebildet werden. Wenn Ihre Sprache zum Beispiel eine Funktion namens
correlation
hat, kann sie nicht so verwendet werden, wie sie ist. Die Verkettung muss streng sein: Zwischen den Wortteilen dürfen keine weiteren Symbole stehen. Zum Beispielbro~ken
würde nicht als ein Wort zählen. - Der Fall ist unwichtig: beides
valid
undvaLiD
ist akzeptabel. - Wörter innerhalb von Strings zählen nicht. Die Buchstaben, aus denen das Wort besteht, müssen Funktionen oder Aussagen in der Sprache der Wahl sein, dh etwas, das tatsächlich ausgeführt wird . Zum Beispiel würde der folgende Code nicht zulässig:
'deoxyribonucleic'~1
, wo'...'
ein String ist ,~
verwirft den vorherigen Inhalt und1
gerade druckt Nummer1
. - Jeder Buchstabe des Wortes sollte notwendig sein . Das bedeutet, dass das Entfernen eines einzelnen Buchstabens aus dem Wort die Eingabe-Ausgabe-Beziehung ändern sollte. Dies beinhaltet die Ausgabe einer anderen Sequenz oder die Ausgabe von anderen Dingen oder die Ausgabe ohne Ausgabe oder die Verursachung eines Fehlers.
- Jede positive Ganzzahl sollte als Eingabe zulässig sein und eine Ausgabe erzeugen, mit Ausnahme von Datentyp- oder Speicherbeschränkungen.
- Die Ausgänge an Eingängen entsprechen
1
,2
,3
, ... sollten zu einer Sequenz in erscheinen entsprechen OEIS . Es sollte keine andere Ausgabe erzeugt werden. Nur eine ganze Zahl, möglicherweise mit nachgestelltem oder führendem Leerzeichen. - Ein- und Ausgabe können Funktionsargumente oder stdin / stdout sein.
Ergebnis
Die Punktzahl wird als Gesamtcodelänge minus der doppelten Länge des längsten Wortes in Zeichen berechnet. Oder gleichbedeutend mit der Anzahl der Zeichen, die nicht zum längsten Wort gehören, abzüglich der Länge des längsten Wortes.
Die niedrigste Punktzahl gewinnt.
Beispiele
Stellen Sie sich eine imaginäre Postfix-Sprache mit folgenden Funktionen vor:: Geben Sie c
eine Zahl ein; At
: Quadrat berechnen; $
: addiere 1.
cAt
ein gültiges Programm wäre (die Reihenfolge ihrer Ausgabe entspricht 1
, 4
, 9
, ..., das ist A000290 ), und es wäre Score -3.
cAt$
wäre auch gültig ist (Sequenz 2
, 5
, 10
, ..., das ist A002522 ), mit Score -2.
c$At
wäre nicht gültig, da das einzige Wort hier "At" ist und von einer einzelnen Funktion oder Anweisung erzeugt wird.