Joe , 5 3 bajtów (+2 lub +3 dla -tflagi)
Najwyraźniej nie wykorzystałem pełnego potencjału Joe. Było to możliwe, kiedy pierwszy raz to opublikowałem.
\AR
Tutaj Rpodaje zakres od 0 do n, wyłączny. Następnie \Apobiera kolejne jego prefiksy ( Ajest to funkcja tożsamości). Przykłady:
Z -tflagą (uwaga: jest to teraz standardowe wyjście nawet bez flagi):
(\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
Bez tego:
\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
[]
Zasady nieco się zmieniły. Mój stary kod nie działał poprawnie z N = 0. Ponadto dane wyjściowe mogą być tylko zagnieżdżoną listą, więc -tmożna je usunąć.
1R1+R
Teraz Rndaje zakres od 0 do n, wyłączny. Jeśli podano 0, zwraca pustą listę. 1+dodaje 1 do każdego elementu tego zakresu. 1Rodwzorowuje wartości na zakres od 1 do x. Puste liaty po zmapowaniu zwracają puste listy.
Przykładowe dane wyjściowe:
1R1+R0
[]
1R1+R5
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
Aktualizacja: Właśnie coś zauważyłem. Funkcja automatycznie odwzorowuje na 0 elementów. Poniższy przykład jest uruchamiany z -tflagą.
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
Stare: 5 bajtów (z -tflagą)
1R1R
Jest to anonimowa funkcja, która przyjmuje liczbę, tworzy listę od 1 do N ( 1Rn) i mapuje te wartości do poprzedniego zakresu, dając zakres od 1 do x dla każdej pozycji z zakresu od 1 do N.
-tFlag daje wyjście jako J-jak stół.
1R1R5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Uwaga: język jest bardzo nowy i niekompletny, ale najnowsza wersja została wydana przed tym wyzwaniem.