Napisz program, który wypisuje wszystkie 64 warstwy tej reprezentacji liczby Grahama z Wikipedii:
Twoje wyniki muszą dokładnie odpowiadać tej wersji ASCII (w której ^
reprezentują strzałki w górę Knutha, a kombinacje ukośników i podkreślników reprezentują duże poziome nawiasy klamrowe):
3^^...............................................................................................................................^3
\_______________________________________________________________ _______________________________________________________________/
\/
3^^.............................................................................................................................^3
\______________________________________________________________ ______________________________________________________________/
\/
3^^...........................................................................................................................^3
\_____________________________________________________________ _____________________________________________________________/
\/
3^^.........................................................................................................................^3
\____________________________________________________________ ____________________________________________________________/
\/
3^^.......................................................................................................................^3
\___________________________________________________________ ___________________________________________________________/
\/
3^^.....................................................................................................................^3
\__________________________________________________________ __________________________________________________________/
\/
3^^...................................................................................................................^3
\_________________________________________________________ _________________________________________________________/
\/
3^^.................................................................................................................^3
\________________________________________________________ ________________________________________________________/
\/
3^^...............................................................................................................^3
\_______________________________________________________ _______________________________________________________/
\/
3^^.............................................................................................................^3
\______________________________________________________ ______________________________________________________/
\/
3^^...........................................................................................................^3
\_____________________________________________________ _____________________________________________________/
\/
3^^.........................................................................................................^3
\____________________________________________________ ____________________________________________________/
\/
3^^.......................................................................................................^3
\___________________________________________________ ___________________________________________________/
\/
3^^.....................................................................................................^3
\__________________________________________________ __________________________________________________/
\/
3^^...................................................................................................^3
\_________________________________________________ _________________________________________________/
\/
3^^.................................................................................................^3
\________________________________________________ ________________________________________________/
\/
3^^...............................................................................................^3
\_______________________________________________ _______________________________________________/
\/
3^^.............................................................................................^3
\______________________________________________ ______________________________________________/
\/
3^^...........................................................................................^3
\_____________________________________________ _____________________________________________/
\/
3^^.........................................................................................^3
\____________________________________________ ____________________________________________/
\/
3^^.......................................................................................^3
\___________________________________________ ___________________________________________/
\/
3^^.....................................................................................^3
\__________________________________________ __________________________________________/
\/
3^^...................................................................................^3
\_________________________________________ _________________________________________/
\/
3^^.................................................................................^3
\________________________________________ ________________________________________/
\/
3^^...............................................................................^3
\_______________________________________ _______________________________________/
\/
3^^.............................................................................^3
\______________________________________ ______________________________________/
\/
3^^...........................................................................^3
\_____________________________________ _____________________________________/
\/
3^^.........................................................................^3
\____________________________________ ____________________________________/
\/
3^^.......................................................................^3
\___________________________________ ___________________________________/
\/
3^^.....................................................................^3
\__________________________________ __________________________________/
\/
3^^...................................................................^3
\_________________________________ _________________________________/
\/
3^^.................................................................^3
\________________________________ ________________________________/
\/
3^^...............................................................^3
\_______________________________ _______________________________/
\/
3^^.............................................................^3
\______________________________ ______________________________/
\/
3^^...........................................................^3
\_____________________________ _____________________________/
\/
3^^.........................................................^3
\____________________________ ____________________________/
\/
3^^.......................................................^3
\___________________________ ___________________________/
\/
3^^.....................................................^3
\__________________________ __________________________/
\/
3^^...................................................^3
\_________________________ _________________________/
\/
3^^.................................................^3
\________________________ ________________________/
\/
3^^...............................................^3
\_______________________ _______________________/
\/
3^^.............................................^3
\______________________ ______________________/
\/
3^^...........................................^3
\_____________________ _____________________/
\/
3^^.........................................^3
\____________________ ____________________/
\/
3^^.......................................^3
\___________________ ___________________/
\/
3^^.....................................^3
\__________________ __________________/
\/
3^^...................................^3
\_________________ _________________/
\/
3^^.................................^3
\________________ ________________/
\/
3^^...............................^3
\_______________ _______________/
\/
3^^.............................^3
\______________ ______________/
\/
3^^...........................^3
\_____________ _____________/
\/
3^^.........................^3
\____________ ____________/
\/
3^^.......................^3
\___________ ___________/
\/
3^^.....................^3
\__________ __________/
\/
3^^...................^3
\_________ _________/
\/
3^^.................^3
\________ ________/
\/
3^^...............^3
\_______ _______/
\/
3^^.............^3
\______ ______/
\/
3^^...........^3
\_____ _____/
\/
3^^.........^3
\____ ____/
\/
3^^.......^3
\___ ___/
\/
3^^.....^3
\__ __/
\/
3^^...^3
\_ _/
\/
3^^^^3
Zauważ, że istnieją 64 warstwy, że nie ma końcowych spacji, i że dwie ^
występują przed kropkami, a tylko jedna występuje później.
MD5 hash swojego wyjścia powinien być precyzyjnie c84d0e20eac2a7f891ab42a8eb77759f
, lub 1ad3b10d06e38693436c14958b2c47a8
jeśli nie ma końcowego znaku nowej linii (co jest ok).
Najkrótszy kod w bajtach wygrywa. Wyjście na standardowe wyjście. Brak danych wejściowych.
code-golf
kolmogorov-complexity
Hobby Calvina
źródło
źródło
1ad3b10d06e38693436c14958b2c47a8
podanej przez grc lubc84d0e20eac2a7f891ab42a8eb77759f
jeśli można pominąć końcowy znak nowej linii.Odpowiedzi:
CJam - 64
Wypróbuj na http://cjam.aditsu.net/
źródło
Python, 122
Przykład:
źródło
Perl - 113 (112 + 1 dla -E)
Gra w golfa:
Nie golfowany:
EDYCJA: Wystąpił błąd w interpolacji łańcucha, w którym Perl myślał, że $ m3 jest zmienną, więc musiałem dodać 2 znaki, aby to naprawić.Rozwiązany przez zmianę $ m na $.EDYCJA NINJA: Zamieniono wystąpienia „” na $ ”. Zapisuje 2 znaki
NINJA EDIT 2: Dzięki @chilemagic za zwrócenie uwagi, że mogę użyć powiedz zamiast drukować z -E, aby zapisać znak.
NOT-SO-NINJA EDIT 3: Rozwiązanie @ Nax pobiło moje stare rozwiązanie, więc trochę go ulepszyłem, aby utrzymać swoją pozycję.
źródło
say
zamiast,print
a następnie uruchomić go-E
zamiast-e
(jeśli twoja wersja Perla jest wystarczająco wysoka). Wygląda świetnie!Haskell, 152
źródło
+1
i po prostu dodasz kropkę wcześniej"^3"
.C 161
182(myślę, że zmaksymalizowałem tę metodę, może powinienem znaleźć nową, którą można by bardziej pograć w golfa)
skompilować jako C99!
JS 158
xem.github.io/obfuscatweet/ 124:
źródło
Bash + coreutils, 150
Pomyślałem, że mogę być w stanie zrobić to lepiej. No cóż.
Wynik:
źródło
STATA 135
źródło
JavaScript 179
Przetestuj w konsoli przeglądarki lub na stronie http://jsfiddle.net/2qwvrvcw/ .
źródło
JavaScript (203)
Nie golfowany:
źródło
C # (
212211).Net Fiddle (wydaje się, że wymaga, aby klasa i metoda Main były publiczne)
Nieznacznie nie golfista:
źródło
Perl,
116112109108 (w tym -E)Moja pierwsza próba gry w golfa. Weź to jako takie:
Gra w golfa:
Bardzo nieznacznie pozbawiony golfa (nieutrzymywany ...):
Zasadniczo działa tak: dla każdej linii 3s i nawiasu klamrowego (są one obsługiwane razem), zapisuje ich sekwencję zakodowaną w RLE , a następnie dekoduje. Zasada jest prosta: każdy znak, po którym następuje liczba, jest rozszerzany do tego znaku tyle razy. Znaki bez numeru są pozostawione same sobie. Wreszcie znak
!
oznacza 3 i aN
oznacza nowy wiersz (3 musiał zostać zakodowany, ponieważ jest liczbą i chętnie brałby udział jako liczba powtórzeń).Każda linia 3s i jej nawias klamrowy otrzymują element w 64-elementowej tablicy generowanej przez mapę. Powiedzmy, podobnie jak print, może generować tablice - jeśli otrzyma tablicę, drukuje wszystkie elementy (bez żadnych separatorów).
Użyłem sztuczki chilemagic
-E
. Dzięki za to.Wzmocnienia: zaczęły się tutaj czaić dwa 113-bajtowe rozwiązania. RLE nie ulegnie bez walki!
Oczyszczanie kanałów : Teraz zdałem sobie sprawę, że nie potrzebuję specjalnej transliteracji \ n, ponieważ wszystkie ciągi w Perlu są automagicznie wielowarstwowe! W ten sposób RLE przylega bliżej grzbietu Ruby! Teraz ma 109 bajtów.
Bolesne oświecenie : Prawidłowe policzenie postaci jest trudniejsze niż myślałem. Po kilku zmaganiach zdecydowałem się na
(-1, ponieważ liczy LF na samym końcu skryptu). Ponadto przestawiłem swoje zadania i zapisałem 1 znak, niniejszym osiadając na 108 bajtach.źródło
MATLAB (325)
bez golfa:
MATLAB (252)
bez golfa:
źródło
PHP 214
Myślałem, że wszystko w porządku, dopóki nie policzyłem bohaterów, w każdym razie tutaj jest -
źródło
->' '
,<br>
->\n
)<?
na początku kodu - musi to być poprawny program, a nie funkcja.<?function a($n,$v=" "){return str_repeat($v, $n);}for($i=64;$i>1;){$b=a($i-1,"_");$v.=a(64-$i)."3^^".a($i*2-1,".")."^3\n".a(65-$i--)."\\$b".a(2)."$b/\n".a(65)."\/\n";}$v.=a(63)."3^^^^3";echo$v;
php grahams.php | md5sum
:c84d0e20eac2a7f891ab42a8eb77759f -
Lua - 174
Wcześniej otrzymałem dwa algorytmicznie różne rozwiązania (oba 182!):
źródło