Geben Sie entweder den folgenden Text oder eine Liste mit ganzen Zahlen aus (weitere Details siehe unten).
0
10 1
20 11 2
30 21 12 3
40 31 22 13 4
50 41 32 23 14 5
60 51 42 33 24 15 6
70 61 52 43 34 25 16 7
80 71 62 53 44 35 26 17 8
90 81 72 63 54 45 36 27 18 9
91 82 73 64 55 46 37 28 19
92 83 74 65 56 47 38 29
93 84 75 66 57 48 39
94 85 76 67 58 49
95 86 77 68 59
96 87 78 69
97 88 79
98 89
99
Regeln
- Wenn Sie möchten, können Sie "einen Index" und jeweils
n
durch ersetzenn+1
. In diesem Fall enthält die Ausgabe die Zahlen 1 bis einschließlich 100.
Wenn es sich bei der Ausgabe um Text handelt
- Die einzelnen Ziffern sind in jeder Spalte des bereitgestellten Texts rechtsbündig ausgerichtet, aber es ist in Ordnung, wenn Sie linksbündig ausrichten möchten. Außerdem muss die Ausrichtung zwischen den Spalten nicht konsistent sein.
- Führende / nachfolgende Leerzeichen sind zulässig. Nachgestellte Leerzeichen in jeder Zeile sind ebenfalls zulässig.
- Die Rückgabe einer Zeilenliste ist zulässig.
Wenn die Ausgabe numerisch ist
- Die Ausgabe kann eine Liste mit ganzen Zahlen (oder ein 2D-Array) sein:
[[1], [11, 2], [21...
- Schwimmer sind in Ordnung.
- Wenn es nicht möglich ist, ein nicht rechteckiges Array in der verwendeten Sprache zu haben, können die Elemente im Array, die sich nicht im Dreieck befinden, einen beliebigen Wert annehmen und werden ignoriert.
Wenn Sie ein anderes Format bevorzugen, können Sie sich gerne an uns wenden.
Kürzester Code gewinnt.
Antworten:
Jelly ,
13 12 106 Bytes-4 danke an Dennis, ja VIER! (Verwendung von Gruppenindizes und kartesischem Produkt)
Verwendet die 1-Indizierung und die Listenoption für die Ausgabe.
Probieren Sie es online! (Die Fußzeile formatiert die Ausgabe in Python-Darstellung)
... oder zeigt eine 0-indizierte, formatierte Version an .
Wie?
quelle
Ġ
aller Welt macht das überhaupt ?![5,7,5,9]Ġ
würde zurückkehren[[1,3],[2],[4]]
. Dies liegt daran, dass die Indizes[1,3]
den Werten5
im ursprünglichen Array[2]
to7
und[4]
to entsprechen9
.Python 2 , 54 Bytes
Probieren Sie es online!
(1-indiziert, weil
range(k,0,-9)
kürzer alsrange(k,-1,-9)
.)quelle
Kohle ,
2920 BytesProbieren Sie es online! Link ist eine ausführliche Version des Codes. Hinweis: Leerzeichen. Erläuterung:
quelle
JavaScript (ES6), 61 Byte
0-basiert. Gibt eine Zeichenfolge zurück.
Probieren Sie es online!
Wie?
Wir beginnen mit k = n = 0 und hören auf, wenn k = 99 ist . Wir subtrahieren 9 von k bei jeder Iteration.
Zeilenende werden mit erkannt
k % 10 <= 0
. Diese Bedingung ist erfüllt, wenn:k ist negativ (oberer Teil der Pyramide), weil das Vorzeichen des Moduls in JS das der Dividende ist.
oder k% 10 == 0 (unterer Teil der Pyramide)
Am Anfang der nächsten Zeile addieren wir entweder 1 oder 10 zu n und starten von dort aus neu.
quelle
Python 2 , 66 Bytes
Probieren Sie es online!
quelle
J , 14 Bytes
Probieren Sie es online!
Hinweis:
Diese Lösung verwendet Boxed Output - ich bin mir nicht sicher, ob es erlaubt ist (ich hoffe es ist, weil Listen von ganzen Zahlen auch erlaubt sind)
Alternative:
J , 10 Bytes
In dieser Lösung werden die Zahlen außerhalb des dreieckigen Bereichs als angezeigt
0
Probieren Sie es online!
Erläuterung:
i.,~10
Erstellt eine Matrix 10x10 der Zahlen 0..99,~10
ist die Abkürzung für10 10
/.
findet die schrägen Diagonalen (Antidiagonalen) der MatrixWenn Sie
]
(dasselbe) verwenden, füllen Sie alle Zeilen mit0
s auf. Jede Zeile ist umgekehrt. Um die Nullen loszuwerden, kästchen ich die Zeilen um,<
nachdem sie umgekehrt wurden|.
Durch das Boxen wird die Liste der Listen abgeflacht. Ich entwerfe
,.
die Liste schließlich so, dass die Zeilen in einer Spalte angeordnet sind.quelle
Pure Bash (keine externen Dienstprogramme), 66
Probieren Sie es online!
quelle
Pyth , 16 Bytes
Probieren Sie es online!
quelle
Gol> <> , 24 Bytes
Probieren Sie es online!
Die Ausgabe sieht folgendermaßen aus:
Wie es funktioniert
quelle
R ,
5048 BytesProbieren Sie es online!
1-indiziert. Befolgen Sie die gleiche Logik wie bei Jonathan Allans Jelly-Antwort. Stellen Sie also sicher, dass Sie ihn unterstützen.
Als Bonus gibt es hier auch eine Implementierung des Standard-Looping-Ansatzes (0-indexiert). Hier habe ich zumindest versucht, die Ausgabe hübscher zu gestalten (habe also nicht mal Bytes gespart,
print
anstattcat(...,"\n")
störende[1]
s in der Konsole loszuwerden .R ,
6659 BytesProbieren Sie es online!
Edit: -2 und -7 danke an Giuseppe.
quelle
R ,
137 86 7369 BytesProbieren Sie es online!
Vorherige Golfversion,% 100 Credits an Giuseppe .
Probieren Sie es online!
Nachstehend mein erster Versuch, Codegolf zu spielen.
Probieren Sie es online!
quelle
seq_len
mit1:
an den meisten Orten; Ich habe auchy:1
stattrev
.Oktave ,
67666564 BytesProbieren Sie es online!
Diese fehlenden Semikolons verletzen meine Augen!
quelle
05AB1E , 22 Bytes
Probieren Sie es online!
Super naiver Ansatz: Probieren Sie es online! Vielleicht ist es eine bessere Lösung, aber ich kann nicht herausfinden, wie ich von A nach B komme.
quelle
PowerShell , 77 Byte
Probieren Sie es online!
Ausgabe als ASCII-Art mit den einzelnen Ziffern linksbündig. Nutzt die Tatsache aus, dass beim Stringing eines Arrays standardmäßig Leerzeichen zwischen Elementen eingefügt werden.
Offenbar sehr ähnlich zu Rods Python-Antwort, aber unabhängig entwickelt.
quelle
JavaScript, 69 Bytes
Probieren Sie es online!
JavaScript REPL, 77 Bytes
quelle
Perl 5 , 62 Bytes
Probieren Sie es online!
1-indiziert, um ein paar Bytes zu sparen
quelle
Ruby , 58 Bytes
Probieren Sie es online!
quelle
Rot ,
105, 95,91 BytesProbieren Sie es online!
Erläuterung:
quelle
JavaScript , 112 Bytes
Nicht so optimal, aber ich wollte einen anderen Ansatz ausprobieren.
Probieren Sie es online!
Alte Lösung:
Probieren Sie es online!
quelle
05AB1E , 16 Bytes
Probieren Sie es online!
Erläuterung
quelle
Perl 6 ,
4340 BytesProbieren Sie es online!
-3 Bytes dank Brad Gilbert b2gills.
quelle
[R,] LIST
ist kürzer alsreverse LIST