Ihre Aufgabe ist einfach, wenn Sie sie annehmen möchten.
Zielsetzung
Sie müssen ein Programm erstellen, das beim Ausführen einige (beliebig viele) Begriffe in einer von Ihnen gewählten Reihenfolge druckt. Die Sequenz muss eine gültige OEIS- Sequenz sein. Der Clou ist, dass Sie, wenn Sie die Zeichen aus Ihrem Code, aus denen Ihre Sequenz besteht, aneinander reihen und in derselben Sprache ausführen , die Formel für das n- te Ihrer Sequenz für Ihre Sequenz erhalten sollten.
Beispiel
Angenommen, ich habe dieses Programm erstellt:
abcdefghij
und wählte die Reihenfolge der Quadrate: http://oeis.org/A000290
und ich habe es gewählt, um die ersten 5 Terme der Sequenz zu drucken. Die Ausgabe sollte sein:
1, 4, 9, 16, 25
Hinweis: Die Ausgabe ist flexibel. Sie können auswählen, durch welches Trennzeichen die Begriffe getrennt werden sollen. Das Trennzeichen sollte jedoch erkennbar sein, damit die einzelnen Begriffe der Sequenz unterschieden werden können.
Nun ist das Zeichen bei Index 1 a
. Das Zeichen bei Index 4 ist d
. Das Zeichen bei Index 9 ist i
. Mein neues Programm wäre also:
adi
und es müsste die Formel für den n- ten Term für meine Sequenz drucken , die ist:
n^2
Einfach!
Andere Dinge
- Sie müssen mindestens 5 Begriffe drucken.
- Sie können zwischen 0- und 1-Index wählen.
- Wiederholte Zahlen bedeuten wiederholte Zeichen.
- Wenn Ihre Sequenz nicht in der richtigen Reihenfolge ist (z. B. geht sie rückwärts), folgt Ihr Code immer noch (z. B. wird Ihr Code rückwärts geschrieben).
- Sie müssen die Zahlen in Grenzen Ihrer Antwort verwenden und nur verwenden, auch wenn sie bereits außerhalb der Grenzen liegt. Sie können keine Zahlen aus derselben Reihenfolge verwenden, die Sie nicht gedruckt haben.
- Wenn Ihre Sequenz offiziell keine Formel hat, können Sie die ersten 3 Buchstaben des auf der OEIS- Website angegebenen Namens verwenden (z. B. würde die Fibonacci-Sequenz gedruckt
fib
und die Lucas-Lehmer-Sequenz würde gedrucktluc
).
Denken Sie daran, dies ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes!
n
?Antworten:
05AB1E , 10 Bytes, A008585
Dieser Code gibt die ersten 11 Elemente der Sequenz 3n aus .
Probieren Sie es online aus!
Erläuterung
Wenn Sie jedes n-te Element (0-indiziert) nehmen, erhalten Sie:
welches 3n ausgibt
quelle
Python 2, 35 Bytes
Ich habe mich für die offensichtliche Sequenz A000027 entschieden , die im Wesentlichen die Formel hat
n
;) Wenn Sie den folgenden Code ausführen:Sie erhalten die Ausgabe:
Und wenn Sie die 8 Zeichen aus meinem Quellcode (0-indiziert) nehmen, erhalten Sie Folgendes:
Was einfach druckt
n
.Wenn Sie auf eine aufregendere Antwort gehofft haben, finden Sie hier eine Python 2-Lösung für
n^2
: A000290 :quelle
05AB1E,
76 Bytes, A000027Probieren Sie es online aus!
Erläuterung:
quelle
4L"n"s
ist auch eine Option, oder bin ich hier weit weg von der Basis?5
nicht sein4
Oktave, 64 Bytes A000290
Ich habe mich für den
n^2
einen entschieden:Nehmen Sie die Begriffe 1, 4, 9, 16, 25, 36, 49 und 64, um Folgendes zu erhalten:
welche druckt:
quelle
05AB1E ,
3028 Bytes, A000290Dies ist die Folge von Quadraten
Gibt die ersten 5 Terme der Sequenz mit der Formel aus
n^2
:Probieren Sie es online aus!
Dies ist 1-indiziert. Ich nehme also die Zeichen aus dem Code, aus dem die Sequenz besteht
Welche Ausgänge
Probieren Sie es online aus!
Erläuterung
quelle
Wunder , 16 Bytes A005843
Dies war einst DASH, wurde aber jetzt in Wonder umbenannt.
Gibt die ersten 6 geraden Zahlen aus. Beachten Sie das führende Leerzeichen. Wenn Sie die Indizes 0, 2, 4, 6 und 8 beibehalten, erhalten Sie:
Welche druckt
2t
.Erläuterung
Dies ist nur eine Zeichenfolge und eine Zahl.
Dies erzeugt eine unendliche Liste von geraden Zahlen ab 0 und nimmt dann die ersten 5 Elemente aus dieser Liste.
quelle
MATL , 8 Bytes, A000027
Vielen Dank an Oliver für eine Korrektur bei der Interpretation der Herausforderung
Der Code wird gedruckt
1 2 3 4 5
. Behalten Sie nur die ersten Zeichen bei, die gedruckt werdenn
.Probieren Sie es online aus!
quelle
Oktave, 49 Bytes, A109234
Die Reihenfolge
floor(n*sinh(1))
besteht aus allen Zahlen ab1
und zu, außer dass6, 13, 20, 26, 33, 40, 46, _3, _0, _6 ...
die für die Erstellung verwendeten Zeichen an1 2 3 4 5
diesen Positionen platziert werden müssen. Die verbleibenden Positionen werden für die Zeichenfolge verwendet, die die Funktion erklärt.quelle
05AB1E, 15 Bytes, A001477
Verwendet die CP-1252- Codierung. Probieren Sie es online aus!
quelle
Heuhaufen ,
21109 BytesHaystack hat in den letzten Tagen viele neue Funktionen hinzugefügt :) Natürlich werde ich A000027 verwenden . Hier ist das erste Programm:
Dies wird ausgedruckt:
Und wenn Sie die Zeichen 1-5, 0-indiziert nehmen, erhalten Sie:
Welche druckt
n
.Wenn Sie mehr Spaß haben möchten, finden Sie hier eine Lösung für A000290 :
Dadurch werden die ersten 7 Quadrate gedruckt, und die entsprechenden Zeichen im obigen Programm, 0-indiziert, sind:
Welche druckt
n^2
.quelle