Hauptaufgabe
Ihre Aufgabe ist es, ganze Zahlen in absteigender Reihenfolge auszudrucken, beginnend mit 1 und steigend, wenn Sie erneut 1 drücken, bis die angegebene Eingabe erreicht ist, und dann den Rest auszudrucken, bis Sie erneut 1 drücken. Beispiel mit Eingabe 6
:
1
21
321
4321
54321
654321
Without newlines (valid output):
121321432154321654321
Randnotiz: Dies ist A004736 im OEIS. Auch das erste Beispiel (mit Zeilenumbrüchen) ist eine ungültige Ausgabe, wie in den Regeln angegeben.
Eingang
Ihr Code kann jede Art von Eingabe (grafisch, STDIN) in Form einer ganzen Zahl oder Zahl annehmen.
Ausgabe
Ihr Code sollte die oben beschriebene Sequenz ausgeben, bis die eingegebene Nummer erreicht ist, und dann die Ausgabe beenden, bis wieder 1 erreicht ist. Bei der Ausgabe kann es sich um eine beliebige Zahl, einen String, eine Ganzzahl oder eine grafische Ausgabe handeln. Es ist erforderlich, eine einzelne Zahl auszudrucken (keine Zeilenumbrüche, wenn es sich um eine Zeichenfolge handelt). Ihre Ausgabe kann mit beliebig vielen Zeichen ein- und ausgegeben werden (z []
. B. ).
Da es einige Missverständnisse gab, ist hier ein Regex-Muster, mit dem Sie Ihre Ausgaben testen können.
^(\D*(\d)+\D*)$
Regeln
- Die Ausgabe muss eine vollständige Zahl sein, die nicht durch irgendetwas aufgeteilt wird, auch nicht durch Zeilenumbrüche.
- Der Algorithmus sollte für die erste Instanz von N nicht , in irgendeiner Weise erscheinen (zB
21
in121321
), sondern eher für die erste Instanz von N als die tatsächlichen Anzahl. - Eine einzelne abschließende Zeile ist zulässig.
- Der Umgang mit negativen Eingaben liegt ganz bei Ihnen, negative Zahlen sind keine Fälle, die Sie testen sollten.
Testfälle
Input: 6
Output: 121321432154321654321
Input: 1
Output: 1
Input: 26
Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321222120191817161514131211109876543212322212019181716151413121110987654321242322212019181716151413121110987654321252423222120191817161514131211109876543212625242322212019181716151413121110987654321
Input: 0
Output: 0, Empty, or Error
Input: 21
Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321
Danke @Emigna, ich habe seinen Algorithmus verwendet, um diese Testfälle zu berechnen.
Gewinner
Der Gewinner wurde ausgewählt! Es war ErikGolfers Antwort mit beeindruckenden 5 Bytes! Herzliche Glückwünsche!
[1, 21, 321, 4321, 54321, 654321]
Wie wäre es mit diesem? [1,2,1,3,2,1,4,3,2,1,5,4,3,2,1,6,5,4,3,2,1]
Oder reden Sie nur über Arrays mit einem einzigen Element, wie [121321432154321654321]
?
mickey321211mouse
. Wirklich, die \D
Teile haben keinen Grund da zu sein
The output must be a full number ...
Meinen Sie die gesamte Sequenz oder nur die verschiedenen Teilzeichenfolgen (1, 2-1, 3-1 ...)? Ihr erstes Beispiel scheint dieser Aussage nicht zu entsprechen.