Джо , 5 3 байта (+2 или +3 для -tфлага)
Ну, очевидно, я не использовал весь потенциал Джо. Это было возможно еще тогда, когда я впервые опубликовал это.
\AR
Здесь Rдает диапазон от 0 до n, эксклюзив. Затем \Aпринимает последовательные префиксы этого ( Aфункция идентичности). Примеры:
С -tфлагом (примечание: теперь это стандартный вывод даже без флага):
(\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
Без этого:
\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
[]
Правила немного изменились. Мой старый код не работал правильно с N = 0. Кроме того, теперь выходные данные могут быть просто вложенным списком, поэтому -tих можно отбросить.
1R1+R
Теперь Rnдает диапазон от 0 до n, эксклюзив. Если задано 0, возвращается пустой список. 1+добавляет 1 к каждому элементу этого диапазона. 1Rсопоставляет значения с диапазонами от 1 до x. Пустые лиаты, при отображении возвращают пустые списки.
Пример вывода:
1R1+R0
[]
1R1+R5
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
Обновление: я только что заметил что-то. Функция автоматически сопоставляется с рангом 0 элементов. Следующий пример запускается с -tфлагом.
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
Старый: 5 байт (с -tфлагом)
1R1R
Это анонимная функция, которая принимает число, создает список от 1 до N ( 1Rn) и отображает эти значения в предыдущий диапазон, давая диапазон от 1 до x для каждого элемента в диапазоне от 1 до N.
-tФлаг дает выходной сигнал в виде J-подобной таблицы.
1R1R5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Примечание: язык очень новый и не полный, но перед этим испытанием была выпущена последняя версия.