проблема
При отсутствии ввода напишите программу или функцию, которая выводит или возвращает следующую строку:
(<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>)
правила
- Кратчайшая программа выигрывает.
- Конечный пробел разрешен.
- Конечные переводы строк разрешены.
- Неиспользуемые параметры для функций допускаются.
code-golf
ascii-art
kolmogorov-complexity
LiefdeWen
источник
источник
(<>.<>)
:"(<" + "(<>" + "(<>." + ... + "(<>.<>)" + "<>.<>)" + ">.<>)" + ... + ">)"
Ответы:
SOGL V0.12 , 12 байт
Объяснение:
Попробуй здесь!
источник
05AB1E , 16 байтов
Попробуйте онлайн!
объяснение
источник
Python 3 , 49 байт
Попробуйте онлайн!
источник
JS (Jsfuck), 10 614 байт
Не имел доступа к веб-сайту, должен был все это выяснить вручную.
Объяснение:
Большинство символов относительно просты: для скобок я выполняю
Полная остановка достигается тем, что js создает номер научной нотации, такой как 1.1e + 21, и берет символ точки после преобразования в строку.
Квадратные скобки сложнее, мы должны выполнить функцию, чтобы создать курсивную HTML-строку объекта и украсть угловые скобки. Основная хитрость в этом заключается в том, чтобы получить 'c' для курсива слова, что требует создания другой функции, чтобы взять c из 'function'
Здесь есть много возможностей для совершенствования, в основном по тем функциям, которые используются для получения квадратных скобок. Я также вспоминаю более простой способ получить символ «с», если курсив лучше, но мне нужно было бы просмотреть мои старые файлы, чтобы найти его
источник
C # (Mono) ,
5452 байтаПопробуйте онлайн!
-2 байта благодаря Кевину Круйссену
RIP C #
источник
;
не учитывается для лямбда-ответов. И()
может быть заменен одним символом (неиспользованныйnull
объект). Соответствующий метапост для второго.s=>
это прекрасно.Сетчатка , 30 байт
Попробуйте онлайн!
источник
V ,
28272522 байта3? 4? байт благодаря @KritixiLithos
Попробуйте онлайн!
источник
hx
простоX
.dkHxògJ
на 1 байт корочеdkVHgJ0x
.Íî
вещь диджея тоже работаетi(<>.<>)òÙxlHÄ$xGòddÍî
за 23lX
наxl
тоже: DR , 42 байта
Довольно простая программа, использующая преимущества работы подстроки в R. Таким образом,
substring('(<>.<>)',-4:6,2:12)
получается следующий векторcat
с пустым разделителем выводит его в STDOUT в требуемом формате.Попробуйте онлайн!
источник
Древесный уголь,
1817 байтПопробуйте онлайн! Ссылка на подробную версию кода.
Использует новый оператор Slice.источник
TrumpScript, 70 байт
Я знаю, это скучное решение.
источник
Брахилог , 14 байт
Попробуйте онлайн!
источник
ᶠ
наᵘ
.C (gcc) ,
5957 байт24 байта меньше, чем простоеputs()
решение. Там наверняка будет какое-то элегантное рекурсивное решение, но пока накладные расходы становятся слишком большими при каждой попытке.Попробуйте онлайн!
источник
Brainfuck,
198175167 байтЯ никогда не делал Codegolf, так что это мой первый. Обратная связь высоко ценится.
Попробуйте онлайн!
Я пошел на самое очевидное на мой взгляд решение. Сначала я устанавливаю ячейки 1-5 на одну из букв "(). <>". Тогда я просто иду к нужным ячейкам и выводу персонажа.
ОБНОВЛЕНИЕ: Я изменил порядок, в котором символы появляются на «ленте», чтобы программа стала короче и эффективнее.
ОБНОВЛЕНИЕ 2: Просто пересмотрел мой пост через некоторое время и понял, что, используя более короткую последовательность для настройки ячеек, я мог бы сохранить несколько байтов.
источник
JavaScript, 47 байт
Использует тот же метод, что и ответ Родона на Python .
источник
Mathematica 41 байт
источник
Древесный уголь , 20 байтов
Попробуйте онлайн!
Спасибо Разрушаемому Лимону за то, что он заметил образец (-4).
АСТ:
Что
‖B
делает это в основном визуально палиндромизировать холст.источник
-a
.Print
s, не знаю, что вы имеете в виду.C (gcc) , 61 байт
Я знаю, что это неубедительно, но это намного короче, чем мое другое решение ...
C (gcc) , 103 байта
Вот версия, где я пытаюсь быть немного хитрым ...
C (gcc) ,
117115 байтовРекурсивная версия, которая полностью хитрая ...
Попробуйте онлайн!
источник
Толпа пустых взглядов смотрит на Бэтмена в честь Адама Уэста ...
C # (.NET Core) , 393 байта
Попробуйте онлайн!
источник
q , 29 байт
raze"(<>.<>)"{(y-5)_x}/:(!)11
-2 байта благодаря стритстеру
РЕДАКТИРОВАТЬ для объяснения:
Язык справа налево интерпретируется.
Как это работает
источник
_x
1 байт, и изменениеtil 11
в(!)11
течение еще 1 байт экономии = 2 байта сохраняются :)Haskell ,
5545 байтПопробуйте онлайн!
Первый ответ Haskell, чтобы победить жестко закодированное решение!
объяснение
Этот ответ работает путем построения списка функций, которые будут применены к строке
(<>.<>)
. Сначала мы строим левый и центр счто дает нам все префиксы от размера два до семи. Тогда мы строим право с
что дает нам все суффиксы от размера шесть до двух.
Как только у нас есть список функций, мы используем монадическую функцию bind (
>>=
), которая просто,concatMap
но короче. Функция, с($"(<>.<>)")
которой мы сопоставляем, применяет входные данные к строке(<>.<>)
.Это делает строку.
источник
Желе , 22 байта
1 байт благодаря Kritixi Lithos.
Попробуйте онлайн!
источник
µ
Java 8, 52 байта
Скучно, но в Java нет способа сделать это короче. Просто инициализация строки Temp уже составляет 11 байт .. (
String t="something";
), а использованиеsubstring
пары раз, безусловно, стоит слишком много байт ..Кратчайшая альтернатива буквальному возвращению, вероятно, такая (58 байт):
Попробуй это здесь.
источник
=>
), если вы хотите добавить ее.Python 2, 57 байт
Я говорю, что это похоже на банду сов, выглядывающую позади их лидера. Просто говорю.
источник
MATL , 28 байт
Попробуйте онлайн!
источник
бред ,
245210 байтГольф в прогрессе.
Попробуйте онлайн!
источник
Haskell, 95 байт
Это намного длиннее, чем 49 байтов, необходимых для строкового литерала с выводом, но лучшее, что я мог сделать, чтобы использовать структуру . Как обычно, я люблю стрелки и
inits &&& tails
создаю кортеж из списка ведущих подстрок и списка конечных подстрок ввода. Затем эти два элемента кортежа объединяются в один список, передавая кортеж++
, и этот списокconcat
помещается в одну большую строку.tail
Иinit
вызовы во избежание дублирование(<>.<>)
в середине (один генерируемыйinits
, другойtails
) и падение нежелательной скобки с самого начала и конца, принимая только подстроки длины 2 или более во внимание.источник
Желе , 18 байт
Попробуйте онлайн!
Как это работает
источник
С (лязг) ,
6261 байтЭто заканчивается только после синхронизации на TIO потому , что запись на стандартный вход выходит из строя, но он будет заканчиваться в терминале. Программа опирается на определенный порядок оценки (неопределенное поведение) и не будет работать, например, с gcc.
Спасибо @Steadybox за идею, которая спасла байт!
Попробуйте онлайн!
верификация
Альтернативная версия, 62 байта
За счет еще одного байта решение становится намного более портативным.
Попробуйте онлайн!
источник
(<
не хватает.Python 2 , 55 байт
не смог устоять перед победой над текущим ответом python 2
Попробуйте онлайн!
источник
Желе , 19 байт
Попробуйте онлайн!
источник