Definieren wir eine Sequenz. Wir werden sagen, dass die kleinste Zahl ist, , die die folgenden Eigenschaften hat:
und sind co-prime (sie teilen keinen Faktor)
erscheint nicht früher in der Sequenz
Im Gegensatz zu den meisten Sequenzen sind die Domäne und der Bereich unserer Sequenz die ganzen Zahlen größer als 1.
Berechnen wir die ersten Begriffe.
muss mindestens 4 sein , aber 4 und 2 teilen sich einen Faktor von 2, so dass 5 sein muss .
muss mindestens 5 sein, aber 5 wird von , also ist es mindestens 6 , aber 6 teilt einen Faktor mit 3, also muss es mindestens 7 sein , 7 erfüllt alle drei Anforderungen, also .
- 2 Teilt einen Faktor
- 3 Zu nah
- 4 Zu nah
- 5 Zu nah
- 6 Teilt einen Faktor
- 7 Aufgenommen von einem (3)
- 8 Teilt einen Faktor
- 9 ist gut
- 2 ist gut
Aufgabe
In dieser Herausforderung müssen Sie ein Programm schreiben, das eine Zahl größer als 1 annimmt und zurückgibt .
Dies ist eine Code-Golf- Frage, daher werden die Antworten in Bytes bewertet, wobei weniger Bytes besser sind.
Testfälle
Hier sind die ersten paar Begriffe der Sequenz (Sie sind natürlich 2 indiziert):
5,7,9,2,11,3,13,4,17,6,19,8,23,22,21,10,25,12,27,16,15,14
Bonus Fun Tatsache
Wie von Robert Israel auf Math.se ( link ) bewiesen, ist diese Sequenz ihre eigene Inverse, dh für alle n.
OEIS
Nachdem ich diese Frage gestellt hatte, reichte ich diese Sequenz beim OEIS ein und nach ein paar Tagen wurde sie hinzugefügt.
Antworten:
Haskell , 61 Bytes
Probieren Sie es online!
Ich bin ziemlich neu in Haskell, also sind alle Golftipps angebracht.
Danke an Wheat Wizard für 2 Bytes und nimi für 4 Bytes
Erläuterung:
quelle
Alice , 42 Bytes
Probieren Sie es online!
Erläuterung
Dies ist eine Standardvorlage für Programme, die eine Zahl als Eingabe und eine Zahl als Ausgabe verwenden. Diese Vorlage wurde geändert, um eine 1 auf dem Stapel unter der Eingabenummer zu platzieren.
Der Hauptteil des Programms platziert jede Nummer
k
im Slota(k)
auf dem Band. Die innere Schleife berechnet a (k) und die äußere Schleife iteriert über k, bis a (n) berechnet ist.quelle
VB.NET (.NET 4.5), 222 Byte
Ich musste deine eigene GCD rollen. Ich konnte auch nicht herausfinden, wie ich es dazu bringen konnte, keine vollständige Funktion zu sein.
GCD ist immer> = 1, muss also nur 1 ignorieren
Kurzschließen im Golf herausgenommen, weil es kürzer ist
Nicht golfen
quelle
Mathematica, 111 Bytes
Probieren Sie es online! 2..23 (Entfernungsmodus)
Probieren Sie es online! oder 150 (verschiedene Werte)
quelle
Japt , 33 Bytes (nicht konkurrierend?) †
Probieren Sie es online!
† Ich habe einen Fehler im Japt-Interpreter behoben, als ich an dieser Lösung gearbeitet habe. Dieser Meta-Post von vor einem Jahr sieht diese Antwort als nicht konkurrierend an, aber dieser neuere Meta-Post drängt auf mehr Freiheit. Trotzdem habe ich zu viel Zeit damit verbracht, es zu verschrotten.
quelle
05AB1E , 26 Bytes
°
T*
Erläuterung:
quelle