Napisz program lub funkcję, która drukuje lub wyświetla ten dokładny tekst (składający się ze 142 znaków):
()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
\::\433832|
\::\79502|
\::\8841|
\::\971|
\::\69|
\::\3|
\__\|
Twój program nie może pobierać żadnych danych (z wyjątkiem języków, w których jest to niemożliwe, np. sed
) I generować powyższy tekst (i tylko powyższy tekst) jako wynik. Końcowy znak nowej linii jest dopuszczalny.
To jest golf golfowy , więc wygrywa najkrótsza odpowiedź (w bajtach).
()
na górze to N. To byłoby bardzo skomplikowane.Odpowiedzi:
MATL ,
706867 bajtówWypróbuj online!
Wyjaśnienie
Co za bałagan. Ale hej, jest splot!
Wyjaśnienie będzie jaśniejsze, jeśli po danej instrukcji można sprawdzić zawartość stosu . Aby to zrobić, po prostu wstaw
X#0$%
w tym miejscu. (Oznacza to:X#
pokaż zawartość stosu,0$
nie pokazuj niczego pośrednio,%
skomentuj resztę kodu). Na przykład zobacz stos zaraz po zwoju .źródło
:)
co pojawia się w kodzie.Perl, 93 bajty
Wymaga opcji wiersza poleceń
-l71Mbignum=bpi
, liczonej jako 14.\32
Powinien zostać zastąpiony literalnym znakiem 26.Przykładowe użycie
Perl, 111 bajtów
Wersja sparametryzowana. Wymaga opcji wiersza poleceń
-nMbignum=bpi
, liczonej jako 12.Przykładowe użycie
źródło
JavaScript (ES6),
187174 bajtówJest to 1 bajt krótszy niż zwykły tekst.
źródło
Python 2, 131 bajtów
Wspólny wysiłek Sp3000 i Lynn. Miedź też uratowała bajt! Link Ideone.
źródło
for
pętli./// ,
129127 bajtówWypróbuj online!
źródło
/!/()()/!!!
zamiast()()()()()()
i wymienić/#/|\n%%/
z/#/|\n%/
i dostosować resztę kodu, aby pracować z tym.-:
,:-
,:-
i-__-
.Bash, 153 bajty
źródło
<<
. A twoja bajt liczy 153 bajty.echo '()()()()()()...\__\|'
4 bajty nie są krótsze?Partia, 195 bajtów
źródło
Turtlèd ,
135129 bajtów (nie konkuruje)(interpreter nie jest tak naprawdę
trochębuggèd (już:]), ale nie wpływa na ten program)Przekształcając i przepisując mój program, grałem w golfa ... sześć bajtów
A teraz muszę wyjaśnić ...
Nadal mogą być krótsze sondy
Przynajmniej najlepszym rozwiązaniem w tym języku jest nie tylko zapisywanie surowych danych ¯ \ _ (ツ) _ / ¯
Wypróbuj online
Wyjaśnienie
Szczerze mówiąc, nie opisuje to zbyt dobrze rzeczywistego programu, ale daje wskazówki na temat poleceń, więc możesz lepiej zrozumieć
KOMPLEKSOWA RZECZ: NESTED LOOPS
Podczas gdy bieżąca komórka nie jest spacją {przesuń w lewo, wykonaj pętlę: (Podczas gdy komórka nie |, napisz bieżący znak zmiennej łańcuchowej (pamiętasz to pi?), Zwiększ wskaźnik łańcucha, przesuń w lewo), wykonaj pętlę: (gdy komórka nie \, przesuń w prawo), przesuń w górę, w lewo}
źródło
Fourier,
196190 bajtówPowiadomienie o nowej funkcji!
Kod
Wyjaśnienie
Ten program to moja pierwsza prezentacja funkcji w Fourierze:
Funkcje są zdefiniowane w następujący sposób:
Pierwszy potok rozpoczyna deklarację funkcji. Następnie umieść kod między rurami. Ostatni potok kończy deklarację funkcji. Na koniec
f
jest zmienna, w której funkcja jest przechowywana. Może to być dowolny znak, o ile nie jest to funkcja zarezerwowana.Na przykład w moim kodzie jedną z funkcji jest:
Gdzie zmienna
S
przechowuje liczbę 92 iC
przechowuje liczbę 58.Po wywołaniu funkcja wyświetla następujące dane:
Ponieważ jest to najbardziej powtarzająca się rzecz w cieście.
Podobnie, aby zagrać w golfa na wyjściu, użyłem pętli:
Który powtarza kod
40a41a
6 razy.40a41a
na własnych wynikach:Zatem sześciokrotne powtórzenie kodu powoduje:
W ten sposób powstaje skorupa ciasta.
Wypróbuj na FourIDE!
Ponieważ nie zaimplementowałem funkcji w interpretatorze Pythona, ten program nie będzie działał na http://tryitonline.net
źródło
Pyth, 89 bajtów
Wypróbuj online!
Zamień
\xx
(szesnastkowy) na odpowiedni znak ASCII, jeśli skopiujesz / wkleisz kod z tej odpowiedzi; zawiera znaki niedrukowalne w spakowanym ciągu, które SE odfiltrowuje.Wyjaśnienie
źródło
Galaretka , 83 bajty
na pewno jeszcze całkiem golfabale
TryItOnline
W jaki sposób?
źródło
Python 2,
193176 bajtówLub krótsza, nudniejsza odpowiedź:
źródło
print r'''(the pie)'''
jest o 38 bajtów krótszy? :)C #
220213209208202201 (171 *) bajtów* Uważam, że jest to nieoryginalne i oszukiwanie
201 bajtów:
220 bajtów:
Jestem pewien, że jest tu coś do gry w golfaźródło
.Substring(j, i)
.()=>@"(pie)"
ma 149 bajtów .PowerShell , 105 bajtów
Wypróbuj online!
Nie jestem pewien, jak nigdy nie odpowiedziałem na to wyzwanie ... Głosowałem za nim i kilkoma innymi odpowiedziami. No cóż, lepiej późno niż wcale?
To umieszcza sześć zrównoważonych parenów jako ciąg w potoku, a następnie dosłowny ciąg (zapisuje dwa bajty) dwóch kolejnych wierszy. Następnie przeglądamy pozostałe liczby, a każda iteracja zwiększa liczbę poprzedzających spacji (
$i
) połączonych z\::<number>|
. Na koniec tworzymy ciąg końcówki ciasta. Wszystkie te ciągi są pozostawione w potoku, a domniemanyWrite-Output
przykleja nową linię między nimi.To o 39 bajtów mniej niż samo wydrukowanie ciasta.
źródło
Węgiel drzewny , 31 bajtów
Wypróbuj online!
Być może zastanawiasz się: co to za czary? Jak możesz się wypełnić
UGPi
? Cóż, Charcoal zaczyna otrzymywać wsparcie Wolfram Language, mając nadzieję, że pewnego dnia będzie konkurencyjny w kolejnych wyzwaniach!Poprzednie, 71 bajtów
Wypróbuj online!
Gadatliwy
Zauważ, że jest inaczej, ponieważ deverbosifier automatycznie kompresuje ciągi i nie usuwa zbędnych poleceń.
Ze skompresowanymi łańcuchami, 52 bajty
wyjście xxd
Wypróbuj online!
źródło
PHP, 170 bajtów
brak precyzji arytmetycznej Pi w PHP? Obliczanie zajmuje znacznie więcej miejsca niż Kopiowanie i wklejanie. Nie ma znaczenia, że ostatnia cyfra tutaj jest wycięta, a nie zaokrąglona; ale w 64-bitowym Pi ostatnia cyfra jest zaokrąglana w górę.
Biegnij z
php -r '<code>'
nieprzypisany podział
źródło
13
ją za pomocą a14
). I z jakiegoś dziwnego powodu brakuje ci nawiasu zamykającego u góry. Dokonanie zmiany naprawia wynik.<?php
znacznika, w przeciwnym razie generują tylko stały wynik. PHP Witaj, świecie! właściwie zależy od tego. Jednak mówiąc o stałej wydajności, odpowiedź PHP, która zawiera dosłowne ciasto i żaden<?php
znacznik nie pobiłaby twojego o znaczną przewagę…<?php
tagu, kiedy go uruchomisz-r
.Python 2,
183171 bajtówNaprawdę nie robi nic mądrego. Po prostu buduje duży ciąg, a następnie go drukuje.
EDYTOWAĆ
Zmniejszony do 171 po przeczytaniu odpowiedzi @ Lynn i nauce. Przepraszam, jeśli źle jest (bezwstydnie) ukraść ci kilka bajtów bez Twojej sugestii. Jeśli tak, proszę powiedzieć, a cofnę zmianę.
Wynik
źródło
print r'''(the pie)'''
jest 28 bajtów krótszy? :)Rubin,
140138137 bajtówMoje rozwiązanie tego problemu w ruby, to moja pierwsza odpowiedź na golfa: D
Czytelna wersja i objaśnienie:
Nic naprawdę sprytnego, po prostu używając prostych pętli :)
Wynik:
źródło
Stax , 63 bajty
Uruchom i debuguj online!
Krótszy niż zaakceptowana odpowiedź MATL. Byłoby zdecydowanie krótsze, gdyby więcej cyfr było przechowywanych jako stała pi w Stax.
(Co to jest
Pi<0
w kodzie?)Wyjaśnienie
Używa odpowiednika ASCII do wyjaśnienia, co oznacza
Expalantion:
źródło
Java 7,
260236191 bajtówWestchnienie, po prostu wyjście z ciasta jest krótsze, nawet przy wszystkich odwróconych ukośnikach ..>.>
Oto poprzednia odpowiedź z odrobiną pieniędzy, choć wciąż niezbyt ogólna lub fantazyjna ( 236 bajtów ):
Dość nudna odpowiedź, ponieważ po prostu generowanie wyniku bez zbyt wielu wymyślnych rzeczy jest krótsze w Javie niż ogólne podejście.
Kod niepoznany i testowy:
Wypróbuj tutaj.
Wynik:
źródło
Qbasic, 175 bajtów
źródło
Lua, 152 bajtów
Spróbuj jak mogłem nie skompresować tego pi.
Lua jest po prostu zbyt gadatliwa, by to zrobić, może większy rozmiar pi, ale nie ten.
Inne rozwiązanie, 186 bajtów.
Irytujące pi Lua nie jest wystarczająco dokładne, aby nawet wypełnić pi. :(
źródło
JavaScript, 172 bajty
Wklej do konsoli, aby uruchomić.
źródło
Javascript: 100 bytes
.).JavaScript (ES6),
170 bajtów165 bajtówjest nieco „oszukany”, ponieważ jeśli zostanie uruchomiony na konsoli, wyświetlona zostanie wartość zwracana
Po pewnym przejściu funkcja wygląda tak (funkcja musi zostać wywołana z parametrem o wartości 0):
Jeśli chcesz wywołać funkcję 167 bajtów:
źródło
"|\n"
w|<newline>
którym<newline>
jest dosłownym nowej linii. 3: Dodajy=>
do początku, a to nie będzie oszustwo. 4: Witamy na stronie!()
otaczającyv
. Wydaje się, że twój wynik ma dodatkową przestrzeń przed 2. i 3. wierszem. Ponadto, nie musisz podawać0
jako argumentu, twoja funkcja będzie działać bez niego poprawnie i nie jest to dozwolone przez wyzwanie.PHP, 142 bajty
Sneaky-sneaky :)
php
po prostu drukuje wszystko, nie próbując interpretować ich jako kodu PHP, jeśli nie widzi żadnych<?php ?>
par.źródło