Wenn positive ganze Zahlen und werden Spalten und Textzeilen ausgegeben, wie unten beschrieben.h w h
Die erste Reihe beginnt mit 11 0
s, die zweite Reihe mit 10 1
s, die dritte mit 9 2
s und so weiter die zehnte Reihe mit 2 9
s. In jeder dieser ersten zehn Zeilen wird nach dem ersten Durchlauf aufeinanderfolgender Ziffern die nächstniedrigere Ziffer zweimal angezeigt, bevor die zweitniedrigere Ziffer zweimal angezeigt wird, wobei sich dieses Muster für immer wiederholt. Wenn ein Lauf von 0
s auftritt, sind die Ziffern danach immer 9
s.
Zeilen unterhalb der zehnten Zeile entsprechen der Zeile unmittelbar darüber, sind jedoch um eins nach rechts verschoben. Die neue Ziffer, die angezeigt wird, ist dieselbe wie die vorherige Ziffer ganz links, wenn sie nicht neben einer anderen Instanz von sich selbst war. Ansonsten ist es die nächsthöhere Ziffer (zwischen 9 und 0 wechseln).
Die ersten Elemente lauten wie folgt:
00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554
Hier ist ein Bild mit farbigem Text, um das Muster deutlicher zu machen.
Wenn Sie weniger Spalten / Zeilen erstellen müssen, sollten Sie den obigen Text einfach zuschneiden.
Wenn Sie mehr Spalten / Zeilen erzeugen müssen, sollten vorhandene Treppen erweitert werden. Wenn mehrere Spalten / Zeilen neue Treppen mit aufeinanderfolgenden Ziffern hinzufügen, sollten die Ziffern zyklisch aus den ganzen Zahlen ausgewählt werden. Für den Eingang sollte also der Ausgang sein
000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544
Hier ist ein Bild dieses Textes mit Farbe:
Regeln
- Die Ausgabe kann auf jede bequeme Weise erfolgen .
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Sie können eine Liste von Zeilen zurückgeben, wenn Sie möchten.
- Sie können ein 2D-Array von Ziffern oder eine Liste von Ziffern zurückgeben, wenn Sie dies vorziehen.
- Standardlücken sind nicht erlaubt.
Kürzester Code gewinnt.
Testfälle
1,1
0
3,2
000
111
20,1
00000000000998877665
11,10
00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554
15,13
000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544
quelle
Antworten:
Python 3,
9493787774 Bytes-1 Byte von Dylnan
-15 Bytes, indem eine Liste von Listen zurückgegeben wird, anstatt von xnor aus zu drucken
-1 Byte durch Umschalten der Reihenfolge der
(j-i+10)//2%10
undj
Teile derif
-else
-3 Bytes von Jo King durch Ändern der
if
-else
in eine Liste.Probieren Sie es online!
quelle
C (GCC) ,
10110099 BytesProbieren Sie es online!
quelle
printf("%d",
->putchar(48+
Canvas, 14 Bytes
Probieren Sie es hier aus!
Während ich dies machte, bemerkte ich an mehreren Stellen, dass ich negative Module in Canvas hatte (hier bedeutete es, dass
»
- Floor Div 2 - gegen 0 gerundet wurde). Die vorherige 18-Byte-Antwort, die ohne Korrekturen funktioniert hat, funktioniert nicht mehr (da ich nurmain.js
zwischen Versionen speichere ), aber TIO hat immer noch die alte VersionErläuterung:
quelle
Kohle ,
2017 BytesProbieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
Bearbeiten: 3 Bytes durch Umschalten auf den @ dzaima-Algorithmus gespeichert.
quelle
Jelly , 14 Bytes
Probieren Sie es online! Oder sehen Sie sich eine (nachformatierte) Testsuite an .
Wie?
quelle
Kotlin , 78 Bytes
Probieren Sie es online!
quelle
Jelly , 19 Bytes
Verwendet einen sehr ähnlichen Ansatz wie bei Pizzapants und Neils . Dank Jonathan Allan 1 Byte gespeichert .
Probieren Sie es online!
Der Hilfslink
Dies ist ein monadischer Link (das Jelly-Äquivalent einer einzelnen Argumentfunktion), der vom nächsten Link mit dem Quick aufgerufen werden kann
Ç
. Es nimmt eine Liste mit zwei ganzen Zahlen und führt die folgenden Schritte aus:Reduzieren Sie durch Subtraktion.
Setze die Hälfte auf eine ganze Zahl und addiere 5, dann nimm modulo 10.
Der Hauptlink
ç
Und für jedes Paar im kartesischen Produkt gilt:
Holen Sie sich den Kopf des Paares (erstes Element). Andernfalls,
Rufen Sie den oben erläuterten Helper-Link für das Paar an.
quelle
p’Ḣ_/HḞ+ʋS<9Ɗ?€5s%⁵
oderp’Ḣ_/:2+ʋS<9Ɗ?€5s%⁵
oder als Monade mitp’Ḣ_/:2+5ƲS<9Ɗ?€s%⁵