Problem
Przy braku danych wejściowych napisz program lub funkcję, która wyświetla lub zwraca następujący ciąg:
(<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>)
Zasady
- Najkrótszy program wygrywa.
- Dozwolone końcowe znaki odstępu.
- Końcowe znaki nowej linii są dozwolone.
- Nieużywane parametry funkcji są dozwolone.
code-golf
ascii-art
kolmogorov-complexity
LiefdeWen
źródło
źródło
(<>.<>)
:"(<" + "(<>" + "(<>." + ... + "(<>.<>)" + "<>.<>)" + ">.<>)" + ... + ">)"
Odpowiedzi:
SOGL V0.12 , 12 bajtów
Wyjaśnienie:
Wypróbuj tutaj!
źródło
05AB1E , 16 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Python 3 , 49 bajtów
Wypróbuj online!
źródło
JS (Jsfuck), 10 614 bajtów
Nie miałem dostępu do strony, musiałem to wszystko rozwiązać ręcznie. -
Wyjaśnienie:
Większość znaków jest stosunkowo łatwa: w nawiasach wykonuję
Kropkę uzyskuje się, gdy js tworzy numer notacji naukowej, taki jak 1.1e + 21, i przyjmuje znak kropki po konwersji na ciąg
Nawiasy kwadratowe są trudniejsze, musimy wykonać funkcję, aby utworzyć kursywą ciąg znaków html i ukraść nawiasy kątowe. Główną sztuczką w tym przypadku jest uzyskanie litery „c” dla słowa kursywą, co wymaga zbudowania innej funkcji, aby pobrać c z „funkcji”
Istnieje wiele możliwości ulepszeń, głównie tych, które służą do uzyskania nawiasów kwadratowych. Pamiętam też łatwiejszy sposób na uzyskanie znaku „c”, jeśli kursywa jest lepsza, ale musiałbym przejrzeć moje stare pliki, aby je znaleźć
źródło
C # (mono) ,
5452 bajtówWypróbuj online!
-2 bajty dzięki Kevin Cruijssen
RIP C #
źródło
;
nie jest liczony dla odpowiedzi lambda. I()
może być zastąpiony jednym znakiem (nieużywanynull
obiekt). Odpowiedni meta post dla drugiego.s=>
jest całkowicie w porządku.Siatkówka , 30 bajtów
Wypróbuj online!
źródło
V ,
28272522 bajtów3? 4? bajty dzięki @KritixiLithos
Wypróbuj online!
źródło
hx
justX
.dkHxògJ
jest o 1 bajt krótszy niżdkVHgJ0x
.Íî
też też działai(<>.<>)òÙxlHÄ$xGòddÍî
za 23lX
dlaxl
TOO: DR , 42 bajty
Dość prosty program, który wykorzystuje sposób działania podciągów w R. Tak więc
substring('(<>.<>)',-4:6,2:12)
produkuje następujący wektorcat
z pustym separatorem wysyła go do STDOUT w wymaganym formacie.Wypróbuj online!
źródło
Węgiel drzewny,
1817 bajtówWypróbuj online! Link jest do pełnej wersji kodu.
Korzysta z nowego operatora plastra.źródło
TrumpScript, 70 bajtów
Wiem, że to nudne rozwiązanie.
źródło
Brachylog , 14 bajtów
Wypróbuj online!
źródło
ᶠ
naᵘ
.C (gcc) ,
5957 bajtów24 bajty mniej niż prosteputs()
rozwiązanie. Na pewno będzie jakieś eleganckie rozwiązanie rekurencyjne, ale do tej pory koszty ogólne stają się zbyt duże przy każdej próbie.Wypróbuj online!
źródło
Brainfuck,
198175167 bajtówNigdy nie robiłem codegolfa, więc to mój pierwszy. Informacje zwrotne są bardzo mile widziane.
Wypróbuj online!
Moim zdaniem wybrałem najbardziej oczywiste rozwiązanie. Najpierw ustawiam komórki 1-5 na jedną z liter „(). <>”. Następnie przechodzę do właściwych komórek i wypisuję postać.
AKTUALIZACJA: Zmieniłem kolejność, w jakiej znaki pojawiają się na „taśmie”, dzięki czemu program jest krótszy i wydajniejszy.
AKTUALIZACJA 2: Właśnie wróciłem do mojego posta po chwili i zdałem sobie sprawę, że używając krótszej sekwencji do konfigurowania komórek, mógłbym zaoszczędzić trochę bajtów.
źródło
JavaScript, 47 bajtów
Używa tej samej metody, co odpowiedź Rodona w Pythonie .
źródło
Mathematica 41 bajtów
źródło
Węgiel drzewny , 20 bajtów
Wypróbuj online!
Dzięki Destructible Lemon za zauważenie wzoru (-4).
AST:
To,
‖B
co właściwie robi, to wizualnie palindromize płótna.źródło
-a
.Print
tam jest, nie jestem pewien, co masz na myśli.C (gcc) , 61 bajtów
Wiem, że to kiepskie, ale znacznie krótsze niż moje inne rozwiązanie ...
C (gcc) , 103 bajty
Oto wersja, w której staram się być nieco podstępny ...
C (gcc) ,
117115 bajtówWersja rekurencyjna, która jest w pełni podstępna ...
Wypróbuj online!
źródło
Tłum pustych spojrzeń obserwujących Batmana na cześć Adama Westa ...
C # (.NET Core) , 393 bajty
Wypróbuj online!
źródło
q , 29 bajtów
raze"(<>.<>)"{(y-5)_x}/:(!)11
-2 bajty dzięki streetsterowi
EDYCJA dla wyjaśnienia:
Język jest interpretowany od prawej do lewej.
Jak to działa
źródło
_x
1 bajt, a zmianatil 11
na(!)11
jeszcze 1 bajt oszczędzania = 2 bajty zapisane :)Haskell ,
5545 bajtówWypróbuj online!
Pierwsza odpowiedź firmy Haskell, która pokonała zakodowane rozwiązanie!
Wyjaśnienie
Ta odpowiedź działa w ten sposób, że tworzy listę funkcji, które zostaną zastosowane do łańcucha
(<>.<>)
. Najpierw budujemy lewy i środkowy zco daje nam wszystkie prefiksy od rozmiaru drugiego do siódmego. Następnie budujemy z
co daje nam wszystkie przyrostki od rozmiaru szóstego do drugiego.
Kiedy mamy już listę funkcji, używamy monadic bind (
>>=
), który jest tylko,concatMap
ale krótszy. Funkcja, z którą konkatmapujemy,($"(<>.<>)")
stosuje dane wejściowe do łańcucha(<>.<>)
.To sprawia, że ciąg.
źródło
Galaretka , 22 bajty
1 bajt dzięki Kritixi Lithos.
Wypróbuj online!
źródło
µ
Java 8, 52 bajty
Nudne, ale nie ma sposobu, aby skrócić ten czas w Javie. Tylko zainicjowanie temp. String ma już 11 bajtów .. (
String t="something";
), a użyciesubstring
kilku razy z pewnością kosztuje zbyt wiele bajtów ..Najkrótsza alternatywa dla dosłownego zwrotu jest prawdopodobnie następująca (58 bajtów):
Wypróbuj tutaj.
źródło
=>
), jeśli chcesz ją dodać.Python 2, 57 bajtów
Mówię, że wygląda to na bandę sów wystających za przywódcę. Tylko mówię.
źródło
MATL , 28 bajtów
Wypróbuj online!
źródło
pieprzenie mózgu ,
245210 bajtówGra w golfa w toku.
Wypróbuj online!
źródło
Haskell, 95 bajtów
Jest to znacznie dłużej niż 49 bajtów niezbędnych do literału łańcuchowego z wyjściem, ale najlepiej, co mogłem zrobić, aby wykorzystać strukturę . Jak zwykle uwielbiam strzałki i
inits &&& tails
tworzy krotkę listy wiodących podłańcuchów i listy końcowych podciągów wejściowych. Następnie te dwa elementy krotkowe są łączone w jedną listę, przekazując krotkę do++
, i ta lista jestconcat
umieszczana w jednym dużym ciągu.tail
Iinit
rozmowy uniknąć duplikowania(<>.<>)
w środku (jeden generowanego przezinits
, drugi przeztails
) i upuść niechcianego nawias od początku i na końcu, biorąc tylko podciągi o długości 2 lub więcej pod uwagę.źródło
Galaretka , 18 bajtów
Wypróbuj online!
Jak to działa
źródło
C (clang) ,
6261 bajtówTen kończy się dopiero po rozrządu na TIO ponieważ napisz do standardowego wejścia nie powiedzie się, ale to będzie rozwiązać w terminalu. Program opiera się na określonej kolejności oceny (niezdefiniowane zachowanie) i nie będzie współpracował np. Z gcc.
Dzięki @Steadybox za pomysł, który oszczędził bajt!
Wypróbuj online!
Weryfikacja
Alternatywna wersja, 62 bajty
Kosztem jeszcze jednego bajtu rozwiązanie staje się znacznie bardziej przenośne.
Wypróbuj online!
źródło
(<
brakuje tam.Python 2 , 55 bajtów
nie mogłem się oprzeć pokonaniu aktualnej odpowiedzi w python 2
Wypróbuj online!
źródło
Galaretka , 19 bajtów
Wypróbuj online!
źródło