Ich habe mich wirklich für Sequenzen interessiert, die der Eigenschaft folgen
In letzter Zeit ist hier eine weitere Frage zu diesen Sequenzen. Insbesondere beschäftigen wir uns mit Sequenzen von den ganzen Zahlen bis zu den natürlichen Zahlen.
Eine periodische Sequenz mit der obigen Eigenschaft ist genau dann ein n- Jongleur, wenn sie genau n verschiedene Werte enthält. Zum Beispiel ist die folgende Sequenz ein 2-Jongleur
... 2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1 ...
weil es nur die Zahlen 1
und enthält 2
.
Ein Beispiel für einen Drei-Jongleur wäre
... 3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5 ...
weil es jongliert 1
, 3
und 5
.
Aufgabe
Gegeben n> 1 als Eingang, Ausgang jeder n -Juggler.
Sie können eine Sequenz auf verschiedene Arten ausgeben
Geben Sie eine Funktion aus, die sie indiziert.
Nehmen Sie eine zusätzliche Eingabe des Index und geben Sie den Wert an diesem Index aus.
Geben Sie einen fortlaufenden Unterabschnitt der Sequenz aus, der mit der angegebenen Eigenschaft die Sequenz eindeutig bestimmt .
Dies ist Code-Golf, daher werden die Antworten in Bytes bewertet, wobei weniger Bytes besser sind.
a(n+1) = a(n-a(n))
und nicht +2,2
einmal wiederholen →2,2,2,2
, erneut wiederholen →2,2,2,2,2,2
usw. Es gibt absolut keine Möglichkeit, eine1
Wiederholung zu erhalten2,2
. Die Reihenfolge, die Sie erhalten, ist immer eindeutig.Antworten:
Pyth , 5 Bytes
Probieren Sie die 2 , 3 , 4 Jongleure.
Erhält zwei Nummern, N und I , getrennt durch einen Zeilenumbruch und in dieser Reihenfolge. Ich bin der Index in der Sequenz.
Dies verwendet eine recht einfache Formel: N - 1 + N * (I% N) . Ihre Gültigkeit wurde vom OP bestätigt .
quelle
CJam, 9
Wie wäre es damit?
Probieren Sie es online aus
Eingabe ist,
n i
won
ist die Haupteingabe undi
ist der Index, für den Sie den Wert erhalten möchten.Erläuterung:
quelle
Haskell , 17 Bytes
Probieren Sie es online aus!
Eine andere Antwort mit Mr. Xcoders Idee. Ich würde die Frage sonst nicht beantworten können, um ehrlich zu sein. : P.
quelle
Python 2 , 20 Bytes
Probieren Sie es online aus!
Gleiches Prinzip wie die Antwort von Herrn Xcoder
quelle
Java 8, 15 Bytes
Langweiliger Port von @ Mr.Xcoders Pyth-Antwort .
Probieren Sie es hier aus.
quelle
Gelee , 5 Bytes
Probieren Sie es online aus!
Hafen von Mr. Xcoders Ansatz. Der Index I ist in STDIN, N ist ein Argument.
quelle