Niektóre postacie są bardziej święte niż inne. Używając możliwie jak najmniej bezbożnych liter, wyświetl powyższe oświadczenie.
Wyzwanie
Napisz pełny program do drukowania Holy Hole In A Donut, Batman!
do STDOUT lub najbliższej alternatywy. Jeśli możesz skompresować dane wejściowe, aby zmniejszyć swój wynik, oszalej :)
Wejście
Żaden
Wydajność
Holy Hole In A Donut, Batman!
Zasady
- Jest to wyzwanie kodowe i wygrywa najniższy wynik
- Żądane dane wyjściowe można odczytać z pliku, ale należy to następnie doliczyć do sumy całkowitej.
- Końcowe znaki nowej linii są w porządku
- Obowiązują standardowe luki i warunki
Punktacja
Twój wynik to liczba bajtów plus niektóre modyfikatory:
- Używanie świętych postaci
0469abdegopqrADOPQR@#
liczy się jako 2 punkty każdy - Używanie dodatkowych świętych postaci
8B%$&
to 1 punkt (bez kary) - Używanie bezbożnych postaci
12357cfhijklmnstuvwxyzCEFGHIJKLMNSTUVWXYZ!"^*()[]{}-=_+|\/?,.<>:;'~
pociąga za sobą większą karę i liczy się jako 10 punktów na postać. - Spacja, tabulator i znaki nowej linii wynoszą 1 punkt (bez kary).
- Wszelkie inne postacie niewymienione na liście mają 10 punktów.
* Na mojej klawiaturze klawisze „$” i „&” są wyjątkowo święte. Jeżeli zmiany czcionek powodują, że znak staje się bezbożny, przejdź do powyższej listy
Niezmodyfikowany ciąg Holy Hole In A Donut, Batman!
osiąga 172
Ruby: puts "Holy Hole In A Donut, Batman!"
osiąga 225
Kontroler wyników
@DeadChex uprzejmie przygotował skrypt oceniania
Daj mi znać, jeśli będę musiał coś wyjaśnić. W razie potrzeby zaktualizuję listę znaków - w tym momencie zawarłem tylko oczywiste klucze. Pomysł jest jednak dość prosty - dziury w postaciach są dobre.
źródło
0
powinien być postacią wyjątkowo świętą, czy nie. (I to odpowiedź)Odpowiedzi:
CJam ,
154153148143 punktyWypróbuj online!
Jak to działa
źródło
Jednoargumentowe, 109,700,689,123,880,793,751,483,665,383,781,675,730,387,604,429,204,978,112,223,950,724,553,435,005,885,707,908,578,678,850,861,879,910,670,154,149,244,112,969,597,673,955,700,447,838,276,456,862,280,889,656,901,703,351,515,963,083,297,978,322,224,548,248,606,910,210,200,102,145,647,654,537,444,488,063,149,647,173,155,335,488,014,867,140,385,453,547,997,132,573,700,942,612,360 punkty
Obliczany przez bc, który jest kalkulatorem o najwyższej precyzji, jaki znam
Kod:
4,5x10 259 jottabajtów
Cóż, to nie wygrywa
źródło
4.87e268
petabajty miejsca na dysku ...612360
) jest podzielny przez,8
ale nie przez16
. Więc jeśli ktoś jest wynik jest podzielna przez16
, to ich wynik byłby bliżej0
w2
-adic metrykę niż ten jest. (Obecnie kirbyfan64sos ma wynik w Pyth352
, który jest podzielny przez32
, co wygląda na to, że byłby liderem w ramach tej normy.) Mathworld.wolfram.com/p-adicNumber.htmlBrainF ***, 3140 punktów
Oto język bezbożności !
źródło
Malbolge,
18741239Jestem prawie pewien, że można bardziej zagrać w golfa. Spróbuję uruchomić to dłużej. Chcę zdobyć sub 1000 ...
Znalazłem programy krótszej długości (chyba 175), ale wynik był wyższy ... Smutny. Obecnie na długości 179 (180 jest prądem) z 4 punktami mniej, nie jestem pewien, czy edycja dla tego krótkiego kawałka.
źródło
sed,
169166 punktówPoliczyłem każdy
\t
jako pojedynczy punkt, ponieważ można go zastąpić rzeczywistym tabulatorem.Wypróbuj online!
Jak to działa
Oba polecenia używają dodatkowego świętego
&
jako ogranicznika.Pierwsze polecenie zamienia koniec (pustej) przestrzeni wzorca ciągiem
\to#y \to#e I% A Do%u8, Ba8ma%!
.Drugi zastępuje polecenie
\t
,#
,8
a%
z bezbożniH
,l
,t
in
, odpowiednio.Z powodu kary za bezbożne postacie transliteracja dodaje 12 bajtów, ale oszczędza 20 punktów.
źródło
PHP,
175168163160159 punktówZrobiłem, co mogłem, aby maksymalnie obniżyć wynik.
Przy pomocy @Dennis wynik został zmniejszony o 5 punktów.
Tak, niezupełnie krótkie ...
Wymień
\n
i\t
nową linią UNIX-style i zakładki, respectivelly.Aby go wykonać, po prostu uruchom go za pomocą przełącznika -r ( nie liczony na wynik )
Oto krótszy, który ma tylko 256 punktów:
źródło
JavaScript, 1337 punktów
Wykorzystuje to fakt, że w alfabecie jest 26 liter, a 26 znaków może być reprezentowanych przez trzy cyfry liczb trójskładnikowych (podstawa-3) 0, 1 i 2, tutaj reprezentowane
%$&
odpowiednio przez .Podziel ten ogromny ciąg znaków na każdym '8' (używam go jako separatora, ponieważ jest wyjątkowo święty, spacje też by działały), przekonwertuj na liczbę całkowitą base-3 przez zamianę (
0
staje się%
,1
staje się$
,2
staje się&
), przekonwertuj to na dziesiętny (%%&
=2
), a następnie złóż ciąg znaków z powrotem. Dodaj 65 (char
wartość literyA
) i przekonwertuj każdą liczbę całkowitą na znak, AZ. Na koniec przekonwertuj na wielkość liter i dodaj znaki interpunkcyjne.Łatwiejsza do odczytania niezarejestrowana wersja:
Jasne, że to głupie. Ale i tak fajnie było się bawić!
źródło
alert("Holy Hole In A Donut, Batman!")
ma wynik 238 ...split("8")
.HTML, 169 punktów
To jedyny znak, który miał dziesiętny byt liczbowy z tylko cyframi z otworami.
(W specyfikacji HTML po jednostkach musi następować średnik, ale nadal działa w dużych przeglądarkach bez niego.)
źródło
Partia, 197 punktów
c
ih
są jedynymi dwoma dodatkowymi postaciami, które nie są święte - a ponieważ partia nie wymaga cytowania ciągów okrągłych, brakuje mi tam kary 20 punktów.źródło
@
wynik +2 do swojego wyniku. Alternatywnie, uruchomienie tego bezpośrednio z wiersza polecenia działa dobrze.Biała spacja, 438 punktów
Jeśli nic nie widzisz, to z powodu białych znaków!
Czytanie o „ 4. Spacja, tabulator i znaki nowej linii to 1 punkt (bez kary). ” Prowadzi do mojego wyboru języka:
[Początek kodu]
[Koniec kodu]
źródło
STL
, wklej kod w odpowiedzi po prawej stronie tego skryptu /// (ale nie w STDIN lub argumencie). W ten sposób możesz przywrócić niewidzialność!Zagłówki ,
333470Przekształciłem swój program BF w Zagłówki, używając jak największej liczby dodatkowych Świętych postaci. O wiele bardziej świąteczny niż BF.
Ponieważ zakładki pionowe najwyraźniej kosztują 10, zmieniono na
#
.Uwaga: Prawdopodobnie wciąż lepszy wynik niż gdybym nie używał pętli.
źródło
Bezsenność , 168 punktów
Udało się zrobić tylko 1 punkt lepiej niż rozwiązanie HTML.
źródło
Pyth, 182 punkty
To nie jest mój najsilniejszy język. Jestem otwarty na sugestie ...
źródło
Asembler Z80,
539523 punktyZauważ, że jest on przeznaczony do działania na komputerze MSX , którego rutynowa procedura BIOS CHPUT, znajdująca się pod adresem 00A2h, drukuje znak przekazywany do akumulatora bez modyfikowania żadnego rejestru.
(Przy okazji, jak można obliczyć wynik za pomocą złożonego pliku binarnego?) :-P
źródło
M
przez,Q
aby zaoszczędzić kilka punktów.Pyth, 352 punktów
Starałem się być mądry i zakodować ciąg jako dodatkowe święte postacie. To nie działało zbyt dobrze ...
źródło
Jolf, niekonkurujący
84 punktów
Wypróbuj tutaj!
Dekompresowanie skompresowanego łańcucha.
źródło
SMBF , 232 punkty
␀
reprezentuje dosłowny bajt zerowy\x00
, który jest bezbożny.źródło
Oo! - 15699 punktów
Zobaczę twoje Brainfuck i wychowam to:
Żaden orangutan nie zaszkodził podczas redakcji tego programu.
źródło
Golunar , 1713
Jasne, to nie jest tak konkurencyjne, ale osiąga lepsze wyniki niż moja odpowiedź BF. Kod jest uzyskiwany przez przyjęcie długości kodu w Unary jako liczby.
źródło
ferNANDo , 467 punktów
Wypróbuj online!
źródło
Dalej, 193 punkty
Wypróbuj online
Działa to również z tym samym wynikiem:
źródło
05AB1E , 28 bajtów (246 punktów / 182 punktów)
Wypróbuj online!
jeszcze gorzej (base-5 ze świętymi postaciami) - 256 bajtów:
lub (mniej zabawne, super trywialne):
za 182 punkty.
źródło
WYALHEIN ,
wynik 3103, 2784 bajtywynik 2886, 2558 bajtówWypróbuj online!
Używany z brutalnym forcersem.
Po kilku dniach grałem w golfa.
źródło