Joe , 5 3 Bytes (+2 oder +3 für -t
Flag)
Nun, anscheinend habe ich nicht das volle Potenzial von Joe ausgeschöpft. Dies war möglich, als ich dies zum ersten Mal gepostet habe.
\AR
Hier R
gibt der Bereich von 0 bis n, exklusiv. Nimmt \A
dann aufeinanderfolgende Präfixe davon ( A
ist die Identitätsfunktion). Beispiele:
Mit -t
Flag (Hinweis: Dies ist jetzt die Standardausgabe, auch ohne Flag):
(\AR)5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
\AR5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
\AR2
0
0 1
\AR1
0
\AR0
Ohne es:
\AR5
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
(\AR)5
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
\AR2
[[0], [0, 1]]
\AR1
[[0]]
\AR0
[]
Die Regeln wurden ein wenig geändert. Mein alter Code hat sich mit N = 0 nicht richtig verhalten. Außerdem könnte die Ausgabe jetzt nur eine verschachtelte Liste sein, sodass -t
sie gelöscht werden kann.
1R1+R
Nun Rn
gibt es einen Bereich von 0 bis n, exklusiv. Wenn 0 angegeben wird, wird eine leere Liste zurückgegeben. 1+
Fügt jedem Element dieses Bereichs 1 hinzu. 1R
ordnet die Werte den Bereichen 1 bis x zu. Wenn leere Lügen zugeordnet sind, werden leere Listen zurückgegeben.
Beispielausgabe:
1R1+R0
[]
1R1+R5
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
Update: Mir ist gerade etwas aufgefallen. Die Funktion ordnet automatisch Elementen mit Rang 0 zu. Das folgende Beispiel wird mit -t
flag ausgeführt.
1R1+R3 5 8
1
1 2
1 2 3
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
Alt: 5 Bytes (mit dem -t
Flag)
1R1R
Dies ist eine anonyme Funktion, die eine Zahl aufnimmt, eine Liste von 1 bis N ( 1Rn
) erstellt und diese Werte dem vorhergehenden Bereich zuordnet, wobei für jedes Element des Bereichs 1 bis N ein Bereich von 1 bis x angegeben wird.
Das -t
Flag gibt die Ausgabe als J-ähnliche Tabelle aus.
1R1R5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Hinweis: Die Sprache ist sehr neu und nicht vollständig, aber die neueste Version wurde vor dieser Herausforderung veröffentlicht.