(nie, nie te )
Wyzwanie
Otrzymasz dwa dane wejściowe. Pierwsza to dodatnia liczba całkowita n > 0, która służy do wyprowadzenia n x nprostokąta liczb 1, 2, 3, ... n. Ten trójkąt zaczyna się w rogu i zwiększa się poziomo i pionowo o jeden, a po przekątnej o dwa. Wyjaśnienia znajdują się w poniższych przykładach. Zachowaj jedną spację między kolumnami i zachowaj wyrównanie wszystkich liczb w poszczególnych kolumnach. (W końcu to sztuka ascii ).
Drugie wejście,, xjest jednym z czterech odrębnych wybranych znaków ASCII, które określają początkowy narożnik trójkąta (i stąd orientację). Na przykład możesz użyć 1,2,3,4lub a,b,c,dlub #,*,!,)itd. Podaj w odpowiedzi, w jaki sposób działa orientacja.
Aby wyjaśnić to wyzwanie, użyję tego, 1,2,3,4co będzie odpowiadać 1lewy 2górny, prawy górny itd. Zgodnie z ruchem wskazówek zegara.
Przykłady
Na przykład w przypadku n = 5, x = 1wyjście z następujących powodów:
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5
Dla wejścia n = 11, x = 1wyjścia następujące (należy zwrócić uwagę na dodatkowe spacje więc pojedyncze cyfry są wyrównane do prawej):
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
Z wejściem n=6i x=2wyjściem:
6 5 4 3 2 1
6 5 4 3 2
6 5 4 3
6 5 4
6 5
6
Z wejściem n = 3i x = 4wyjściem:
3
2 3
1 2 3
Z wejściem n = 1i dowolnym xwyjściem:
1
Zasady
- Wiodące / końcowe znaki nowej linii lub inne białe znaki są opcjonalne, pod warunkiem, że liczby odpowiednio się wyrównają. (Na przykład dopuszczalne jest końcowe białe znaki, aby uzyskać kwadratowy wynik).
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Dane wyjściowe mogą być przesyłane do konsoli, zapisane jako obraz, zwrócone jako lista ciągów znaków itp. Dowolny wygodny i dozwolony format .
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).