L € $ CH € $! D € AṬH ỊṢ ṢOOṄ! (Картографування довжини)


15

Заголовок є дійсним кодом Jelly, який має той же вихід, що L€€інакше, ніж надрукований двічі.

Фон

Ви можете пропустити цей розділ, не втрачаючи можливості виконати завдання

Деякі операції в Jelly спершу намагаються перетворити його аргумент у список, перш ніж застосувати операцію. Один із прикладів - швидке відображення. Це іноді призводить до ненавмисного виходу.

Для програми L€та вводу 5 інтерпретатор Jelly намагається знайти довжину кожного елемента списку 5. Оскільки 5 не є списком, Jelly перетворює його у список [1,2,3,4,5]. Тоді довжина кожного елемента виводиться: [1,1,1,1,1]. Зверніть увагу, що кожне ціле число має довжину 1. Якби, наприклад, 10був присутній, це стане 1, ні2 (довжина в цифрах).

Для програми L€€та вводу 5 інтерпретатор Jelly намагається знайти довжину кожного елемента кожного елемента списку 5. Оскільки 5 не є списком, Jelly перетворює його у список [1,2,3,4,5]. Тепер перекладач намагається знайти довжину кожного елемента кожного елемента списку [1,2,3,4,5]. Кожен елемент не список, так Jelly перетворює їх в списки таким же чином: [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]. Довжина кожного піделемента виводиться як[[1],[1,1],[1,1,1],[1,1,1,1],[1,1,1,1,1]]

Завдання

Ваше завдання - знайти вихід програми Jelly з Lподальшим повторним aчасом із введенням b, де aі bдодатні цілі числа, рівні рівним входам вашої програми / функції.

Спосіб зробити це:

Починаючи з введення b, виконайте наступні aрази:

  • Для кожного цілого числа, яке бачить програма, замініть його на діапазон цілого числа (де range(x) := [1,2,3,...,x-1,x])

Нарешті, замініть кожне ціле число на 1.

Випробування

a
b
output
- - - - -
1
1
[1]
- - - - -
1
2
[1, 1]
- - - - -
1
3
[1, 1, 1]
- - - - -
1
4
[1, 1, 1, 1]
- - - - -
1
5
[1, 1, 1, 1, 1]
- - - - -
1
6
[1, 1, 1, 1, 1, 1]
- - - - -
2
1
[[1]]
- - - - -
2
2
[[1], [1, 1]]
- - - - -
2
3
[[1], [1, 1], [1, 1, 1]]
- - - - -
2
4
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]
- - - - -
2
5
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]
- - - - -
2
6
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]
- - - - -
3
1
[[[1]]]
- - - - -
3
2
[[[1]], [[1], [1, 1]]]
- - - - -
3
3
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]
- - - - -
3
4
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]
- - - - -
3
5
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]
- - - - -
3
6
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]
- - - - -
4
1
[[[[1]]]]
- - - - -
4
2
[[[[1]]], [[[1]], [[1], [1, 1]]]]
- - - - -
4
3
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]
- - - - -
4
4
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]
- - - - -
4
5
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]
- - - - -
4
6
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]
- - - - -
5
1
[[[[[1]]]]]
- - - - -
5
2
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]]
- - - - -
5
3
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]]
- - - - -
5
4
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]]
- - - - -
5
5
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]]
- - - - -
5
6
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]]
- - - - -
6
1
[[[[[[1]]]]]]
- - - - -
6
2
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]]]
- - - - -
6
3
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]]]
- - - - -
6
4
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]]]
- - - - -
6
5
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]]]
- - - - -
6
6
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]]]

Правила

  • a і b обмежуються натуральними числами
  • Ваша програма або функція можуть приймати aіb в будь-якому порядку, і в будь-якому стандартному форматі введення
  • Вихід повинен бути глибоким списком або рядковим поданням такого списку
  • Вихід повинен бути повернутий через будь-який стандартний формат виводу.
  • Це , тому найкоротший код на кожній мові виграє!

Я б заборонив вбудованим, що оцінює рядок як код Jelly (дивлячись на тебе, желе)
Стівен

@StepHen Створення рядка займає занадто багато байтів порівняно з повторенням функції Range, тому я залишу можливість оцінюватись, як це дозволено.
fireflame241

Уточнення Форта: Довжина будь-якого цілого числа 1, а не довжина його десяткового розширення?
Тит

@Titus Так. Я уточню це у питанні.
fireflame241

1
Заголовок можна пограти в гольф L€€CH!DṬHỊṢṄ!(або, можливо, L€€Ṅ) до речі ...
Erik the Outgolfer

Відповіді:


13

Желе , 3 байти

R¡Ṡ

Спробуйте в Інтернеті!

Вводиться в зворотному порядку.
-2 байти завдяки fireflame.
-1 байт завдяки Деннісу

Пояснення

R¡Ṡ  Main link
 ¡   Repeat <first argument> times
R    Range (generates range, and vectorizes on lists)
  Ṡ  Sign (converts all numbers to 1 because they are all positive)

3
Ви можете скористатися неявним введенням, видаливши та взявши аргументи у зворотному порядку.
fireflame241

@ fireflame241 о добре дякую! -2 байти, видаливши ^3також
HyperNeutrino

5
Ви можете використовувати атом знака замість формування.
Денніс

Звичайно, тут Джеллі був би неперевершеним ...
Ерік Попечитель

@Erik Правда, але я здивований, що ні в цьому рішенні, Lні в них немає.
Маріо Карнейро

11

Python 2 , 49 байт

-1 завдяки Джонатану Аллану

f=lambda a,b:1>>a or[0]*b and f(a,b-1)+[f(a-1,b)]

Спробуйте в Інтернеті!

Ця проблема здавалася, що її можна записати у вигляді подвійно рекурсивної функції, віднімаючи по одній від кожного параметра. Ключова ідея полягає в тому, що послідовність може бути пов'язана наступним чином:

f(0,b) = 1
f(a,0) = []
f(a,b) = f(a,b-1) + [f(a-1,b)]

Однак написання такої рекурсивної функції є досить хитрою, оскільки 1це значення триє і []є хибним значенням, тому нам потрібні два ключових ключових слова ( andі or).

Менш гольф-версія може виглядати так:

lambda a,b:int(a<1)or[1,[]][b<1]and f(a,b-1)+[f(a-1,b)]

Однак ми можемо використовувати трюк, який 1>>aдає, 1якщо a дорівнює нулю, а в 0іншому випадку, і що ми можемо повернути truthy значення if b>0і порожній список, інакше виконавши [0]*b.


1
Збережіть один із or[0]*b andзамість or[0][:b]and.
Джонатан Аллан

9

Математика, 17 байт

1^Range~Nest~##&

Бере bтоді a.

Спробуйте його на Wolfram Sandbox

Як?

1^Range~Nest~##&

  Range             (* Range function; generates {1..<input>} *)
       ~Nest~##     (* Apply it on <input 1> <input 2> times *)
                    (* Mathematica automatically maps Range onto integers *)
1^                  (* Raise those to the exponent of 1; make everything 1 *)

Використання

1^Range~Nest~##&[4, 2]

{{1}, {1, 1}, {1, 1, 1}, {1, 1, 1, 1}}


4

Гая , 7 байт

ẏ¦”@)⊃e

Спробуйте в Інтернеті!

ẏ¦робить тут приблизно те саме, що і L€в Jelly. є "є позитивним?" і ¦це карта, яка також неявно ставить під ціле число в діапазоні 1 .. п перш ніж можна буде. А оскільки ми маємо справу лише з цілими числами> = 1, це призведе 1до кожного.

ẏ¦”      Push the string "ẏ¦"
   @)    Push the first input+1
     ⊃   Repeat the last character of the string until it's input+1 characters long.
      e  Eval it.


3

PHP, 134 байти

for($r=[$argv[2]];$argv[1]--;)($w=array_walk_recursive)($r,function(&$n){$n=range(1,$n);});$w($r,function(&$n){$n=1;});print_r($r[0]);

Можливо, існує коротший підхід, ніж буквальний ... але він працює як мінімум.

Запуск з -nrі забезпечують aі в bякості аргументів або спробувати його в Інтернеті .


Для виводу, як у прикладах, використовуйте echo strtr(preg_replace('#"\d":#','',json_encode($r[0],JSON_NUMERIC_CHECK)),"{}","[]");(як у TiO) замість print_r($r[0]);.


3

JavaScript (ES6), 95 байт

f=(a,b,r=/\d+/g)=>a--?f(a,b.replace(r,s=>`[${[...Array(+s)].map((_,i)=>++i)}]`)):b.replace(r,1)
<div oninput=o.textContent=f(a.value,b.value)><input type=number min=0 value=0 id=a><input type=number min=0 value=0 id=b><pre wrap id=o>1

Введення / виведення - це рядки. Найкраще, що я міг зробити безрекурсивно, було 100 байт:

(a,b)=>[...Array(-~a)].reduce(r=>r.replace(/\d+/g,a--?s=>`[${[...Array(+s)].map((_,i)=>++i)}]`:1),b)

3

Брахілог , 21 байт

,1{t+₁I&⟦₁ᵐ⁾;I}ⁱ⁽ṡᵐ⁾c

Спробуйте в Інтернеті!

Концептуально простий, але відстеження потрібного рівня для відображення предиката "діапазон" займає майже половину байтів. :(

                 % Implicit input, list [a, b]
,1               % Append iteration index 1 to the list
{           }ⁱ⁽  % Do this iteratively a times, with [b, i] as the initial input
 t+₁I            % Increment iteration index, let this be I
     &⟦₁ᵐ⁾       % Map the "range from 1 to input" predicate on the first part of input
                 %   (b in the first iteration), at depth given by (old) iteration index
          ;I     % Append the incremented index to this, this is the input to next iteration
ṡᵐ⁾              % Take the sign of each element, mapped at depth given by final I
c                % "Concatenate" to remove extra surrounding array

І рекурсивне рішення, просто для його чортви:

24 байти

{t0&hṡᵐ|t-₁L&h⟦₁ᵐ;Lz↰ᵐ}c

Спробуйте в Інтернеті!


1

Желе , 12 байт

⁴Ṿ;”L;”€ẋ³¤V

Спробуйте в Інтернеті!

Просто для початку. Я впевнений, що це буде коротше, якби я насправді зробив так, як мені належить, тому я працюю над цим (inb4 ninja'd хтось)

Пояснення

⁴Ṿ;”L;”€ẋ³¤V  Main link
 Ṿ            Generate Jelly code that will evaluate to
⁴             The second input
  ;           Concatenate with
   ”L         "L"
     ;        Concatenate with
      ”€ẋ³¤   Niladic Expression
      ”€      "€"
        ẋ     Repeated                times
         ³             <first input>
           V  Jelly-eval it
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.