2019 ist gekommen und wahrscheinlich hat jeder die Besonderheit dieser Zahl bemerkt: Sie setzt sich tatsächlich aus zwei Unterzahlen (20 und 19) zusammen, die eine Folge von aufeinanderfolgenden absteigenden Zahlen darstellen.
Herausforderung
Geben Sie bei einer gegebenen Zahl xdie Länge der maximalen Folge von aufeinanderfolgenden absteigenden Zahlen zurück, die gebildet werden können, indem man die Subnummern von verwendet x.
Anmerkungen :
- Unternummern dürfen keine führenden Nullen enthalten (zB
1009nicht aufteilbar in10,09) - Aufeinanderfolgend und absteigend bedeutet, dass eine Zahl in der Folge gleich der vorherigen Zahl -1 sein muss oder (z. B.
52kann nicht aufgeteilt werden,5,2weil5und2nicht aufeinanderfolgend2 ≠ 5 - 1) - die Reihenfolge muss mit der vollen Zahl, zB in erhalten werden
7321kann man nicht verwerfen7die Reihenfolge und erhalten3,2,1 - nur eine Sequenz kann aus der Zahl erhalten werden, beispielsweise
3211098kann nicht aufgeteilt in zwei Sequenzen3,2,1und10,9,8
Eingang
- Eine Ganzzahl (
>= 0): kann eine Zahl, eine Zeichenfolge oder eine Ziffernliste sein
Ausgabe
- Eine einzelne Ganzzahl angesichts der maximalen Anzahl absteigender Teilzahlen (beachten Sie, dass die Untergrenze dieser Zahl ist
1, dh eine Zahl wird in einer absteigenden Folge von Länge eins für sich zusammengesetzt)
Beispiele:
2019 --> 20,19 --> output : 2
201200199198 --> 201,200,199,198 --> output : 4
3246 --> 3246 --> output : 1
87654 --> 8,7,6,5,4 --> output : 5
123456 --> 123456 --> output : 1
1009998 --> 100,99,98 --> output : 3
100908 --> 100908 --> output : 1
1110987 --> 11,10,9,8,7 --> output : 5
210 --> 2,1,0 --> output : 3
1 --> 1 --> output : 1
0 --> 0 --> output : 1
312 --> 312 --> output : 1
191 --> 191 --> output : 1
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln mit Standard-E / A-Regeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp, verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu (z. B. TIO ).
- Außerdem wird dringend empfohlen, eine Erklärung für Ihre Antwort hinzuzufügen.
210 -> 2,1,0falsch (gleich mit 0 -> 0)? Die Aufgabe besagt, dass " Unternummern keine führenden Nullen enthalten dürfen ". Ist Null ein Sonderfall?
212019. Scheint, als hätte ich nicht alle Regeln gelesen.