Definieren wir eine in sich geschlossene Zahl als eine positive Ganzzahl, deren Ziffern nur in sich selbst entsprechenden Längenreihen erscheinen. Mit anderen Worten, jede Dezimalstelle d (ohne 0 ) kommt nur in Reihen mit der Länge d vor .
Aufgabe
Sie können eine der drei folgenden Methoden auswählen:
- Geben Sie bei einer Ganzzahl n die n- te (entweder 0- oder 1-indizierte) in sich geschlossene Zahl aus.
- Geben Sie bei einer Ganzzahl n die ersten n in sich geschlossenen Zahlen aus.
- Drucken Sie die Sequenz auf unbestimmte Zeit.
Beispiele
133.322 ist eine in sich geschlossene Reihe , weil 3 erscheint in einem Durchlauf von drei 3 ‚s, 1 Einzel- und 2 erfolgt in einem Durchlauf von zwei 2 ‘ s.
Auf der anderen Seite ist 35553355 nicht, weil, obwohl 5 und 3 fünf- bzw. dreimal vorkommen, sie keine Reihen benachbarter Ziffern bilden.
44422 ist nicht eigenständig, da 4 nur dreimal vorkommt.
12222333 ist es auch nicht, da 2 in einem Durchlauf von vier 2 angezeigt wird und es nicht als zwei separate Durchläufe von zwei 2 behandelt werden kann .
Es überrascht nicht, dass dies OEIS A140057 ist. Die ersten Begriffe sind:
1, 22, 122, 221, 333, 1221, 1333, 3331, 4444, 13331, 14444, 22122, 22333, 33322, 44441, 55555, 122122, 122333, 133322, 144441, 155555
Sie können Eingaben und Ausgaben über eine der Standardmethoden in einer beliebigen Programmiersprache vornehmen und dabei beachten, dass diese Lücken standardmäßig verboten sind. Dies ist Codegolf, daher gewinnt der kürzeste Code in Bytes (in jeder Sprache).
i
lang wird ? Möglicherweise muss es verwendet werdenstr
(da bin ich mir allerdings nie ganz sicher).Mathematica, 66 Bytes
Druckt die Sequenz auf unbestimmte Zeit
Probieren Sie es online!
In TIO müssen Sie die Ausführung beenden, um das Ergebnis zu sehen, in Mathematica funktioniert dies jedoch einwandfrei.
-12 Bytes von Martin Ender
quelle
05AB1E , 9 Bytes
Gibt den n-ten Term der Sequenz mit einem Index zurück.
Probieren Sie es online!
Erläuterung
quelle
µNγD€gs€ÙQ
JavaScript (ES6),
767168 BytesGibt den n-ten Term der Sequenz mit dem Index 0 zurück.
Hinweis : Wie immer bei rekursiven Funktionen hängt der Eingabebereich von der Unterstützung der Tail Call-Optimierung und der Stapelgröße Ihrer Engine ab.
Demo
Code-Snippet anzeigen
Alt. Version, 65 Bytes
Nimmt keine Eingabe vor und druckt die Ergebnisse einzeln mit
alert()
.Probieren Sie es online! (Stoppt, sobald die maximale Stapelgröße überschritten wird.)
quelle
Gelee , 7 Bytes
Probieren Sie es online!
-4 Bytes dank Mr. Xcoders frühem Vorschlag.
-1 Danke an Jonathan Allan .
Übernimmt die Eingabe von STDIN.
quelle
CJam , 20 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Haskell , 70 Bytes
quelle
x=
nach unseren Golfregeln ablegen .Brachylog , 10 Bytes
Probieren Sie es online!
Erzeugt durch seine Eingabevariable unendlich viele Elemente der Sequenz. (Wenn es tatsächlich der Druck selbst zu tun hat, append
&ẉ⊥
) . Dies ist im Wesentlichen Code die entsprechenden lösen Entscheidungs Problem mit einem≜
zu voran zuerst die kleinsten Lösungen Brute-Force:Ich habe erwartet, dass dies nur 9 Bytes dauert, aber es
ḅ
scheint explizit erforderlichẹ
zu sein, die Ziffern einer Zahl in Läufe zu trennen.quelle
JavaScript 4,
8380 Bytesquelle
Perl 6 , 49 Bytes
Probieren Sie es online!
Gibt das
n
-te Element der Sequenz mit dem Index Null zurück.quelle
\d
kann nur sein.
R , 56 Bytes
Probieren Sie es online!
Verwendet die Lauflängencodierung für die Teilungsnummer. Gibt true zurück, wenn alle Längen den Werten entsprechen.
Hinweis: Ich habe die
methods
Bibliothek in TIO geladen , umel
mit der Arbeit zu beginnen.quelle
Stax , 10 Bytes
Führen Sie es aus und debuggen Sie es
Dieses Programm filtert alle positiven ganzen Zahlen mit einem Filter. Die Ziffern sind lauflängencodiert. Für jeden Lauf muss die Ziffer der Lauflänge entsprechen.
quelle
Pyth, 12
Online testen!
quelle
.fqFCr8jZT
Perl 5
-p
, 48 BytesProbieren Sie es online!
Gibt das n-te Element zurück, 1 indiziert.
quelle
Java 10, 121 Bytes
Ein Lambda von
int
bisint
. Die Funktion nimmt einen Index n und gibt den n- ten (1-indizierten) Sequenzwert zurück.Probieren Sie es online
Ungolfed
quelle