Ein bekanntes Lied der irischen Rockband U2 beginnt mit dem Sänger Bono, der auf Spanisch "1, 2, 3, 14" sagt (" uno, dos, tres, catorce ").
Es gibt verschiedene Theorien zur Bedeutung dieser Zahlen. Anscheinend lautet die offizielle Erklärung " Wir haben in dieser Nacht zu viel getrunken ". Aber es gibt eine interessantere Hypothese: Bono bezieht sich auf eine ganzzahlige Sequenz von OEIS, wie z
A107083 :
Ganzzahlen
k
wie das10^k + 31
ist prime.
1
,2
,3
,14
,18
,44
,54
, ...
Als Bono in einem Interview die unvermeidliche Frage "Warum 14" stellte, gab er zu, dass er diese Nummer etwas satt hatte. Der Journalist schlug stattdessen "15" vor, und in diesem Konzert wurden die Texte tatsächlich in "1, 2, 3, 15" geändert. (Die Geschichte kann hier auf Spanisch gelesen werden ). Sehr wahrscheinlich ließ sich der Journalist inspirieren
A221860 :
Indizes
k
,prime(k) - k
die eine Potenz von sind2
, woprime(k)
diek
-te Primzahl ist.
1
,2
,3
,15
,39
,2119
,4189897
, ...
Die Herausforderung
Schreiben Sie zwei Programme in derselben Sprache. Der erste sollte eine Eingabe nehmen n
und den n
-ten Ausdruck von A107083 oder die ersten n
Ausdrücke ausgeben . In ähnlicher Weise sollte der zweite n
Ausdruck den -ten Ausdruck von A221860 oder den ersten Ausdruck ausgebenn
.
Die Punktzahl ist die Summe der Längen der beiden Programme in Bytes plus dem Quadrat der Levenshtein-Distanz zwischen den Bytedarstellungen der beiden Programme.
Wenn eine Zeichenkodierung verwendet wird, bei der jedes Zeichen einem Byte entspricht, kann dieses Skript zum Messen des Levenshtein-Abstands verwendet werden.
Wenn zum Beispiel die beiden Programme abcdefgh
und sind bcdEEfg
, lautet die Punktzahl 8 + 7 + 4^2 = 31
.
Die niedrigste Punktzahl gewinnt.
Zusätzliche Regeln
Die Ausgabe kann für jede Sequenz unabhängig
1
-basiert oder0
-basiert sein (es ist also zulässig, wenn eines der Programme1
-basiert und das andere0
-basiert ist).Jedes Programm kann konsistent, aber unabhängig vom anderen, entweder den
n
-ten oder den ersten Ausdruck ausgebenn
.Programme oder Funktionen sind für jede Sequenz unabhängig zulässig.
Ein- und Ausgabemittel und -format sind wie gewohnt flexibel . Standardlücken sind verboten .
10
fühlt sich sehr lang an.Jelly , 11B + 10B + 7B² = 70
1, 2, 3, 14
Probieren Sie es online!
1, 2, 3, 15
Probieren Sie es online!
quelle
MATL , 17 + 17 + 7² = 83
1, 2, 3, 14, ... (17 Bytes)
Probieren Sie es online!
1, 2, 3, 15, ... (17 Bytes)
Probieren Sie es online!
Beide verwenden das ähnliche Schema, bei
0G:"`Q
dem ein Zähler ausgeführt wird und zurückkehrt, wenn eine Bedingung erfülltn
wurde. Das eigentliche Programm ist dann ziemlich unkompliziert. Die15
Variante hat ein Füllzeichen (~p~
), um den Levenshtein-Abstand zu minimieren, während das14
Programm ein verwendet, um11qy
bessert10w
mit dem anderen Programm übereinzustimmen.Geteilter Teil:
Spitzenprogramm:
Unteres Programm:
quelle
05AB1E (Legacy) , 10 + 11 + 6 2 =
846957 Byte1, 2, 3, 14, ... (A107083)
Probieren Sie es online aus.
1, 2, 3, 15, ... (A221860)
Probieren Sie es online aus.
½
counter_variable
µ
counter_variable
Erläuterung:
quelle