(no, non quelli )
La sfida
Ti verranno dati due input. Il primo è un numero intero positivo n > 0, che viene utilizzato per generare un n x ntriangolo rettangolo dei numeri 1, 2, 3, ... n. Questo triangolo inizia in un angolo e aumenta orizzontalmente e verticalmente di uno e in diagonale di due. Vedi gli esempi sotto per chiarimenti. Mantenere uno spazio tra le colonne e mantenere tutti i numeri allineati a destra nelle rispettive colonne. (Questa è arte ascii dopo tutto).
Il secondo input, xè uno dei quattro caratteri ASCII singoli distinti di tua scelta che determina l'angolo iniziale del triangolo (e quindi l'orientamento). Ad esempio, è possibile utilizzare 1,2,3,4o a,b,c,do #,*,!,), ecc. Specificare nella risposta come funziona l'orientamento.
Per chiarimenti in questa sfida, userò 1,2,3,4quale corrisponderà per 1in alto a sinistra, 2in alto a destra e così via in senso orario.
Gli esempi
Ad esempio, per n = 5, x = 1produrre quanto segue:
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5
Per l'input n = 11, x = 1produrre quanto segue (notare gli spazi extra in modo che le singole cifre siano allineate a destra):
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
Con input n=6e x=2output:
6 5 4 3 2 1
6 5 4 3 2
6 5 4 3
6 5 4
6 5
6
Con input n = 3e x = 4, output:
3
2 3
1 2 3
Con input n = 1e any x, output:
1
Le regole
- Le linee guida iniziali / finali o altri spazi bianchi sono opzionali, a condizione che i numeri siano allineati in modo appropriato. (Ad esempio, è accettabile lo spazio bianco finale per creare un output quadrato).
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- L'output può essere sulla console, salvato come immagine, restituito come un elenco di stringhe, ecc. Qualsiasi formato comodo e consentito .
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).