Herausforderung
Hier bei PPCG mögen wir unsere Sequenzen, also hier ist ein lustiger anderer.
Nehmen wir definieren a(n)
als die kleinste nicht-negative ganze Zahl ist, X
die zu einem nicht gleich ist a(k)
( 0 < k < n
), und a(n-1)
und X
haben keine Dezimalziffern nicht teilen.a(0) = 0
Bei einer Eingabe n > 0
, Ausgabe wie z a(n)
.
Für die Eingabe n = 13
haben wir zum Beispiel, a(13) = 20
da a(12) = 11
und 20
die kleinste nicht negative Ganzzahl ist, die wir noch nicht gesehen haben und mit der keine Dezimalstellen geteilt werden 11
.
Sequenz
Hier sind die ersten 20 Begriffe, mit denen Sie beginnen können. Dies ist die Sequenz A067581 in OEIS.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 22, 11, 20, 13, 24, 15, 23, 14, 25
Regeln
- Es kann davon ausgegangen werden, dass die Eingabe und Ausgabe in den systemeigenen Ganzzahltyp Ihrer Sprache passen.
- Die Ein- und Ausgabe kann in jedem beliebigen Format erfolgen .
- Sie können zwischen 0-Index, wie ich es in meinen Beispielen sehe, und 1-Index für Ihre Einreichung wählen. Bitte geben Sie an, was Sie tun.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Fügen Sie nach Möglichkeit einen Link zu einer Online-Testumgebung hinzu, damit andere Benutzer Ihren Code ausprobieren können!
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
n > 1
(odern ≥ 2
) als Input bekommen? (1-Indizierung)Antworten:
Python 2 , 85 Bytes
-1 Byte dank Dead Possum
Probieren Sie es online!
quelle
n=0,
für -1 Byte?Japt , 18 Bytes
Online testen! Ich habe gerade das
g
hier verwendete Feature hinzugefügt , aber es ist etwas, das ich seit langem hinzufügen möchte (und das hat mich über den Rand gedrängt, weil meine Nicht-g
Lösung etwa 35 Byte groß war).Erläuterung
quelle
Pyth , 20 Bytes
Probieren Sie es online! oder Probieren Sie die Testsuite aus.
quelle
Haskell, 79 Bytes
Der Code ist schrecklich ineffizient. Um größere Werte zu berechnen, dh> 12, addieren Sie
f x|x<11=x
zwischen den beiden Zeilen (implementiertg
in der TIO-Verknüpfung).Probieren Sie es online!
quelle
JavaScript (ES6), 82 Byte
0-indiziert.
Demo
Code-Snippet anzeigen
quelle
Schale , 18 Bytes
Eine 1-indizierte Lösung. Probieren Sie es online!
Edit: Fehler für +1 Byte behoben.
Erläuterung
Die integrierte Iterationsfunktion von Husk
¡
hat viele Bedeutungen. Hier verwende ich "Unendliche Liste durch wiederholtes Anhängen neuer Elemente erstellen, die aus den vorhandenen berechnet wurden". Die zweite Zeile ist die Hilfsfunktion, die ein neues Element berechnet:Die erste Zeile ist die Hauptfunktion:
quelle
Haskell, 78 Bytes
Es wäre noch effizienter, wenn das zweite Argument
!
nicht die Liste der gesehenen Zahlen, sondern der unsichtbaren Zahlen wäre. Aber ich kann das nicht tun, ohne mehr Bytes zu verwenden.Probieren Sie es online!
quelle
Mathematica 115 Bytes
Noch Platz zum Golfspielen - und evtl. Rekursion nutzen (damit beschleunigen).
Ursprünglicher ausführlicher Code mit derselben Grundidee:
quelle