(nein, nicht diese )
Die Herausforderung
Sie erhalten zwei Eingänge. Die erste ist eine positive Ganzzahl n > 0
, mit der ein n x n
rechtwinkliges Dreieck der Zahlen ausgegeben wird 1, 2, 3, ... n
. Dieses Dreieck beginnt in einer Ecke und vergrößert sich horizontal und vertikal um eins und diagonal um zwei. Zur Verdeutlichung siehe nachfolgende Beispiele. Lassen Sie einen Abstand zwischen den Spalten und richten Sie alle Zahlen in den jeweiligen Spalten rechtsbündig aus. (Das ist doch Asciikunst ).
Die zweite Eingabe x
ist eines von vier verschiedenen einzelnen ASCII-Zeichen Ihrer Wahl, die die Startecke des Dreiecks (und damit die Ausrichtung) bestimmen. Zum Beispiel könnten Sie 1,2,3,4
oder a,b,c,d
oder #,*,!,)
usw. verwenden. Bitte geben Sie in Ihrer Antwort an, wie die Ausrichtung funktioniert.
Zur Verdeutlichung dieser Herausforderung verwende ich, 1,2,3,4
was 1
links 2
oben, rechts oben usw. im Uhrzeigersinn entspricht.
Die Beispiele
Zum Beispiel für n = 5
, x = 1
Ausgabe wie folgt vor :
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5
Für die Eingabe n = 11
, x = 1
die folgende Ausgabe (beachten Sie die zusätzlichen Leerzeichen so werden die einzelnen Ziffern rechtsbündig):
1 2 3 4 5 6 7 8 9 10 11
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11
4 5 6 7 8 9 10 11
5 6 7 8 9 10 11
6 7 8 9 10 11
7 8 9 10 11
8 9 10 11
9 10 11
10 11
11
Mit Ein- n=6
und x=2
Ausgang:
6 5 4 3 2 1
6 5 4 3 2
6 5 4 3
6 5 4
6 5
6
Mit Eingabe n = 3
und x = 4
Ausgabe:
3
2 3
1 2 3
Mit input n = 1
und any x
, output:
1
Die Regeln
- Führende / nachfolgende Zeilenumbrüche oder andere Leerzeichen sind optional, sofern die Zahlen richtig ausgerichtet sind. (Zum Beispiel ist es akzeptabel, Leerzeichen nachzustellen, um eine quadratische Ausgabe zu erhalten.)
- 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.
- Die Ausgabe kann auf der Konsole erfolgen, als Bild gespeichert, als Liste von Zeichenfolgen usw. zurückgegeben werden. Beliebiges praktisches und zulässiges Format .
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.