Zadania
Wszyscy zawodnicy próbują rozwiązać następującą listę 10 zadań:
Odczytaj dodatnią liczbę całkowitą n z wejścia i zwróć sumę kostek pierwszych n nieujemnych liczb całkowitych.
W przypadku danych wejściowych
1
powinno to zostać zwrócone0
.Odczytaj dodatnią liczbę całkowitą n z wejścia i zwróć prawdziwą wartość, jeśli i tylko jeśli n jest liczbą pierwszą Mersenne .
Przeczytaj niepustą listę n liczb całkowitych z wejścia i zwróć ich medianę .
Jeśli n jest parzyste, użyj mniejszej z dwóch średnich wartości.
Na przykład mediana
[1 4 3 2]
wynosi2
.Odczytaj liczbę całkowitą (dodatnią, ujemną lub 0) lub ciąg znaków w bazie 10 lub unarnej z wejścia i zwróć jej cyfry w negatywie , bez zer wiodących (z wyjątkiem wejścia 0).
Dane wyjściowe można sformatować w dowolny dogodny sposób (cyfry, tablica, ciąg itp.).
Return
pneumonoultramicroscopicsilicovolcanoconiosis
.Sprawdź aktualną datę i w
Happy New Year!
razie potrzeby wróć zgodnie z kalendarzem gregoriańskim.Pseudolosowo wybierz 64 unikalne przypisane punkty kodowe z bloku Unicode CJK Unified Ideographs Extension-A (U + 3400 - U + 4DB5) i zwróć ciąg odpowiednich znaków.
Wszystkie możliwe ciągi powinny mieć takie samo prawdopodobieństwo wybrania.
Odczytaj dwa ciągi znaków ASCII do wydrukowania z wejścia i zwróć prawdziwą wartość wtedy i tylko wtedy, gdy znak pierwszego ciągu tworzy podsekwencję drugiego ciągu.
Na przykład
abc
,axbxc
należy powrócić truthy ibac
,axbxc
powinien zwrócić falsy.
- Odczytaj wielowymiarową, prostokątną tablicę liczb całkowitych i liczbę całkowitą n z wejścia i zwróć zmodyfikowaną tablicę ze wszystkimi liczbami całkowitymi pomnożonymi przez n .
Odczytaj na wejściu nieujemną liczbę całkowitą n i zwróć łańcuch n wagonów kolejowych, jak pokazano poniżej.
Przykładowe dane wyjściowe dla n = 3 :
______ ______ ______ | | | | | | ()--() ~ ()--() ~ ()--()
Dane wyjściowe mogą być otoczone dowolną ilością białych znaków, tak długo jak to wygląda w przykładzie.
Wyjaśnienia
0 nie jest ani dodatnie, ani ujemne.
Końcowe białe znaki są zawsze dozwolone w danych wyjściowych.
Kilka danych wejściowych można odczytać w dowolnej spójnej, wygodnej kolejności.
Zasady
Żadna odpowiedź nie może rozwiązać dwóch różnych zadań w tym samym języku programowania. 1
Do każdego zadania obowiązują standardowe zasady gry w golfa .
W szczególności można przesyłać programy lub funkcje ze zwykłymi ustawieniami domyślnymi we / wy , ale nie można skorzystać z tych luk .
Zadanie 5 jest w zasadzie wyzwaniem złożoności Kołmogorowa , więc twarde kodowanie danych wyjściowych jest nie tylko dozwolone, ale oczekiwane.
Należy wysłać tylko jedną odpowiedź na użytkownika, zawierającą co najwyżej jedno rozwiązanie dla każdego zadania.
Sformatuj swoją odpowiedź jak w poniższym przykładzie:
## Task 1, Python, 42 bytes <code goes here> Explanation, I/O, required Python version, etc. go here. --- ## Task 7, C, 42 bytes <code goes here> Explanation, I/O, required compiler (flags), etc. go here.
Punktacja
Za każde rozwiązane zadanie otrzymasz jeden punkt.
Oznacza to, że nie musisz rozwiązywać wszystkich zadań, aby wziąć udział.
Jeśli Twoje rozwiązanie dla zadania n jest najkrótsze w tym języku programowania, otrzymasz dodatkowy punkt.
Jeśli Twoje rozwiązanie dla zadania n jest najkrótsze ze wszystkich języków programowania, otrzymasz dodatkowy punkt.
Punkty bonusowe zostaną przyznane tylko raz za odpowiednio każdą kombinację język zadania i każde zadanie.
Jak zwykle, jeśli dwa rozwiązania mają tę samą liczbę bajtów, czas wysłania jest przerywnikiem remisu.
Jeśli później ktoś Cię przerazi, tracisz punkty bonusowe, które zarabia drugi rozmówca.
Możesz przesłać do golfa, dodać / usunąć języki z odpowiedzi lub zamienić języki używane do dwóch zadań.
Za każdym razem, gdy ktoś edytuje swoją odpowiedź, wszystkie odpowiedzi są zapisywane ponownie.
Po zmianie języka dla zadania tracisz starszeństwo. 2)
Odpowiedź z najwyższym wynikiem wygrywa. 3)
Tabela liderów dla poszczególnych zadań
<style>body{text-align:left!important}#answer-list{padding:10px;width:290px;float:left}#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}</style><script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script><link rel=stylesheet href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id=answer-list><table class=answer-list><thead><tr><td>Task<td>Author<td>Language<td>Score<tbody id=answers></table></div><table style=display:none><tbody id=answer-template><tr><td>{{TASK}}<td>{{NAME}}<td>{{LANGUAGE}}<td>{{SIZE}}</table><script>function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function process(){answers.forEach(function(e){var s=e.body_markdown.split("\n").filter(function(e){return"#"==e[0]});s.forEach(function(s){var r=s.match(NUMBER_REG)[0],t=(s.match(SIZE_REG)||[0])[0],a=s.match(LANGUAGE_REG)[1],n=e.owner.display_name;entries.push({task:r,user:n,language:a,size:t})})}),entries.sort(function(e,s){var r=e.task-s.task;return r?r:e.size-s.size});for(var e=0;e<entries.length;e++){var s=jQuery("#answer-template").html();s=s.replace("{{TASK}}",entries[e].task).replace("{{NAME}}",entries[e].user).replace("{{LANGUAGE}}",entries[e].language).replace("{{SIZE}}",entries[e].size),s=jQuery(s),jQuery("#answers").append(s)}}var QUESTION_ID=52152,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*.*?,\s*\[*([^,\]]+)/,entries=[];</script>
Łączona tabela liderów (2015-07-30 20:00 UTC)
User / Task 1 2 3 4 5 6 7 8 9 A TOTAL Tie breaker (if any)
DLosc 2 2 3 2 2 2 2 3 2 2 22
Sp3000 2 2 2 2 2 3 2 2 2 2 21
Doorknob 2 2 2 2 2 2 2 2 2 2 20
mathmandan 2 2 2 2 2 2 2 2 2 2 20 Combined byte count.
MickyT 2 2 2 2 2 2 1 2 2 2 19
Alex A. 2 1 2 2 2 2 1 2 2 2 18
Jacob 2 2 2 2 2 1 0 0 0 2 13
alephalpha 2 2 2 0 2 2 0 0 2 0 12
Martin Büttner 2 0 0 2 2 0 0 2 2 2 12 Combined byte count.
kirbyfan64sos 1 2 2 0 2 X 0 2 0 3 12 Per-language wins.
Maltysen 3 0 0 0 3 2 1 X 2 0 11
plannapus 2 2 0 0 2 2 0 2 0 2 10
jimmy23013 0 0 2 3 0 0 3 2 0 0 10 Solved tasks.
Tom 0 3 0 0 2 2 0 X 3 0 10 Combined byte count.
FryAmTheEggman 1 0 2 0 2 0 2 0 2 0 9
Vioz- 1 0 2 2 2 2 0 0 0 0 9 Combined byte count.
Toby Speight 2 0 0 0 2 2 0 0 0 2 8
Ismael Miguel 0 0 0 0 2 2 0 0 0 2 6
Pulga 0 2 2 0 0 0 0 0 0 2 6 Combined byte count.
flawr 2 0 2 0 0 0 0 0 0 0 4
manatwork 2 0 0 0 0 2 0 0 0 0 4 Combined byte count.
TheNumberOne 1 0 0 0 2 0 0 0 0 0 3
Zadania oznaczone symbolem X
są obecne, ale nieprawidłowe.
Połączony ranking został skonstruowany ręcznie. Poinformuj mnie, jeśli są jakieś błędy.
1 Języki liczą się jako różne, jeśli nie są różnymi wersjami tego samego języka, więc jest tylko jeden JavaScript, jeden Python i jeden TI-BASIC, ale C, C ++, Octave i MATLAB to cztery różne języki.
2 Jeśli rozwiążesz zadanie n za pomocą języka L w bajtach x , ktoś inny rozwiąże to samo zadanie w tym samym języku z tą samą liczbą bajtów, zmienisz język na M i cofniesz edycję, drugi odpowiadający zachowa punkt bonusowy.
3 Liczba punktów uzyskanych z reguł punktacji 1, 2 i 3 (w tej kolejności), łączna liczba bajtów wszystkich rozwiązanych zadań (im niższa, tym lepsza), a na koniec, suma głosów (im wyższa, tym lepsza) służy jako rozstrzygający.
Odpowiedzi:
Zadanie 1, GolfScript, 8 bajtów
Ten sam pomysł, co odpowiedź Martina na CJam .
Zadanie 2, QBasic,
7471 bajtówTestowany na QB64 z wyłączonym rozszerzaniem składni. 1 Większość programu sprawdza, czy podana liczba
a
jest liczbą pierwszą, pobierająca
mod do każdej liczby 2 <=i
<a
i mnożąc wyniki. Wynik jest równyr
0, jeśli liczba nie jest liczbą pierwszą, a niezerowa w przeciwnym razie. Ostatni wiersz używa bitowegoAND
z dzieleniem liczb całkowitych przez 2, aby sprawdzić, czy reprezentacja binarnaa
wszystkich jest jedyna, tj. Maa
postać 2 n -1. Pomnożenie tego przezr
daje 0 (fałsz), jeśli liczba nie jest liczbą pierwszą Mersenne, a inną niezerową (prawdą) wartością w przeciwnym razie.?
jest skrótem doPRINT
.Największa testowana
1.#INF
przeze mnie liczba pierwsza Mersenne, 8191, daje wynik - który wciąż jest prawdą! (Sprawdziłem za pomocąIF
oświadczenia, aby się upewnić).1 To nie zmienia semantyki programu. Jeśli wpiszesz powyższy kod w standardowym systemie DOS QBasic, zostanie on automatycznie sformatowany z dodatkowymi spacjami, ale będzie działał dokładnie tak samo.
Zadanie 3, Pyth, 6 bajtów
Czyta listę w stylu Pythona ze standardowego wejścia. Główną magią tutaj jest
c
operator przeskoku: biorąc pod uwagę liczbę całkowitą i listę, dzieli listę na n kawałków. Więcc2SQ
przecina posortowaną listę wejściową na pół. Dogodnie, gdy długość jest nieparzysta, pierwsza połowa jest większa, więc mediana jest zawsze ostatnim elementem pierwszej połowy. Toe
nd zh
EAD wyników kotlet.Zadanie 4, CJam, 26 bajtów
Podejrzewam, że można to skrócić.
Algorytm:
Fakt, że jest to pętla „do-while” zajmuje się przypadkiem 0.
Zadanie 5, Bash, 50 bajtów
Nie wiele do wyjaśnienia.
Zadanie 6, Python, 78 bajtów
Wymaga Python 2. Tutaj można ładnie wykorzystać łańcuchowe operatory nierówności w Pythonie.
Zadanie 7, ActionScript, 82 bajty
ActionScript jest członkiem rodziny ECMAScript. Ten kod wymaga ActionScript 2 - znacznie lepszego do gry w golfa, ponieważ mogę używać przestarzałych funkcji, takich jak
chr
zamiast wersji 3String.fromCharCode
!Dane wyjściowe są w okienku konsoli:
Zadanie 8, pip,
919 bajtówRozwiązanie wyrażenia regularnego nie do końca działało, więc oto jedno z operacjami na łańcuchach.
Repozytorium Github dla Pip .
Bierze dwa ciągi jako argumenty wiersza poleceń. Kiedy
a
jest podciągiem, wypisuje dodatnią liczbę całkowitą (prawda); w przeciwnym razie wynikiem jest zero (fałsz), co nie daje wyniku.Wyjaśnienie:
Zadanie 9, Prolog (SWI), 68 bajtów
Prolog zwykle nie gra w golfa kodem, więc jestem bardzo zadowolony z tego rozwiązania.
Definiuje predykat
m
z parametrami wejściowymiL
dla listy orazN
dla liczby i parametru wyjściowegoR
. Definicjam
to potrójne rozłączenie:L
może być ujednolicone z[H|T]
, jest to lista z co najmniej jednej pozycji w nim. Wywołajm
rekurencyjnie na czubku i na końcu tej listy i ponownie połącz wyniki razem w nową listę, która jest zunifikowanaR
.L
może być ujednolicone z[]
jednoczyR
się[]
również.L
przyjmuje się, że jest liczbą;L*N
jest obliczany i przypisywany doR
.Przykład uruchomienia za pomocą
swipl
Ubuntu:Zadanie 10, C,
114112106 bajtówTestowane
gcc
na Ubuntu. Definiuje funkcję,t
która przyjmuje argument liczby całkowitej. Wykorzystuje trzyfor
pętle do wyjścia, znacznie skondensowane przez nadużycie makr. Użycie znaku backspace do wymazania końcowego~
powoduje raczej dziwny wzór białych znaków, aleThe output may be surrounded by any amount of whitespace as long as it looks like in the example.
Przykładowy przebieg
t(3)
:źródło
a.c
jako podsekwencjaabc
.Huzzah, najpierw wykonaj wszystkie zadania! \ o /
Zadanie 1, Perl, 32 bajty
+1 bajt dla
-p
flagi. Komentarz: Perl jest dziwny .Zadanie 2, CJam, 14 bajtów
Mój pierwszy program CJam!
Zadanie 3, GolfScript, 8 bajtów
Ewaluuj dane wejściowe STDIN, sortuj, określaj długość, zmniejszaj, dziel przez dwa, a następnie weź element posortowanej tablicy pod tym indeksem.
Zadanie 4, Python, 77 bajtów
Dzięki @ mbomb007 za zgolenie 24 (!) Bajtów i @ Sp3000 za kolejne 11.
Zadanie 5, Java, 66 bajtów
Nudny. Znokautowałem tutaj pełny język, aby później zaoszczędzić miejsce na języki dla golfistów.
Zadanie 6, Bash, 39 bajtów
Dzięki @manatwork za nauczenie mnie
%j
, goląc 10 bajtów.Zadanie 7, JavaScript, 148 bajtów
Wygeneruj ciąg 64
x
, a następnie zamień je wszystkie na funkcję wywołania zwrotnego, która zwraca losowy jeden z tych znaków, jeśli nie znajduje się już w tablicy użytych znaków.Zadanie 8, Rdza, 130 bajtów
Tak, Rust bardzo źle gra w golfa.
Zadanie 9, Struś, 18 bajtów
Wersja 0.7.0 . Sprawdza tablicę, zamienia wyrażenie regularne w celu zmiany liczb na ich zwielokrotnione wersje, a następnie ponownie analizuje otrzymany ciąg.
Zadanie 10, Ruby, 58 bajtów
"\n"
jest jedną postacią dłuższą niż"{actual newline}"
, która jest jedną postacią dłuższą niż$/
. Dzięki @ MartinBüttner za golenie {nieokreślonych, ale dużej liczby} bajtów za pomocą różnych sztuczek czarnej magii.źródło
$(…)
→`…`
.[ `date +%j` = 001 ]
Lub nawet((`date +%j`<2))
. (Przy założeniu GNUdate
, który z pewnością obsługuje format „% j dnia roku (001..366)”.)Zadanie 1, 3var,
1413 bajtów( Strona wiki Esolang dla 3var )
Pobiera dane wejściowe przez punkt kodowy, np. Spacja to 32.
Na szczęście wszystkie operacje, których potrzebujemy do implementacji formuły,
n^2 (n-1)^2 / 4
to pojedyncze znaki (zmniejszanie, mnożenie i kwadratowanie), ale ustawienie 3 bajtów zajmujeB
2 (reset-przyrost-przyrost).Zadanie 2, Retina,
3833 bajty( Repozytorium Github dla Retina )
Każda linia przechodzi w osobny plik, ale możesz przetestować powyższe tak, jak w przypadku
-s
flagi (zamieniając na<empty>
nic). Wejście powinno być jednoargumentowe z 1s, np.1111111
Dla 7.Oto, co robi każde podstawienie wyrażenia regularnego (określone przez parę linii):
2
,1 + composite
aninot power of 2
z niczym.To dodaje dodatkową
1
liczbę liczb pierwszych Mersenne, podczas gdy każda inna liczba jest zatarta.Zadanie 3, Rakieta, 71 bajtów
Języki podobne do Lisp są po prostu zbyt dziwne. Przykładowy przebieg:
Zadanie 4,> <>, 31 bajtów
( Strona wiki Esolang dla> <> )
Powyższe ma 28 bajtów i wymaga
-v
flagi w interpreterie Pythona dla kolejnych 3 bajtów , np. Działa podobnieZaletą>> jest to, że możemy obliczyć cyfry jeden po drugim za pomocą modulo i dzielenia, co daje cyfry w odwrotnej kolejności, idealne do wydrukowania stosu.
Zadanie 5, nawiasy,
14481386 bajtów( Repozytorium Github dla nawiasów )
Mam na to odpowiedź CJam, która jest krótsza niż sama struna, ale nie mogę jej użyć, więc pomyślałem, że pójdę inną drogą.
Kod generujący Python 3:
Oto odpowiedni kod podobny do Lisp:
Widocznie to było w porządku, aby zastąpić
define
nazywającg
jak()()
, co zaoszczędziło dużo bajtów.Zadanie 6, CJam, 26 bajtów
Sprawdza, czy
[month day]
część lokalnej tablicy czasu jest mniejsza niż[1, 2]
.Zadanie 7, Python, 73 bajty
Prosta implementacja Pythona 3.
Zadanie 8, Preludium,
4641 bajtów( Strona wiki Esolang dla Preludium )
Myślę, że to działa - prawdopodobnie nadal można grać w golfa, ale po raz pierwszy gram w golfa w Preludium. Format wejściowy to
<needle>NUL<haystack>
, gdzieNUL
jest0x00
. Działa to najlepiej zNUMERIC_OUTPUT = True
interpreterem Pythona, ponieważ spowoduje to, że będzie on generowany1
lub0
odpowiednio.Wybrałem Preludium, ponieważ istnieją dwie właściwości, które sprawiają, że jest bardzo miły dla tego zadania:
Byłoby jeszcze lepiej, gdyby Prelude miał operatora NOT.
Oto podział:
(-5 bajtów dzięki @ MartinBüttner)
Zadanie 9, Mathematica, 4 bajty
Coś podobnego
2 {{0, 1}, {1, 0}}
to pośrednio mnożenie w Mathematica, więc po prostu umieszcza się argumenty obok siebie.Jak zauważyli @MartinButtner i @alephalpha ,
1##&
to kolejna 4-bajtowa odpowiedź. Zobacz pierwsze wyjaśnienie.Zadanie 10, Szyna,
246237 bajtów( Strona wiki Esolang dla Rail )
Nie mogłem przegapić okazji do wykonania zadania związanego z pociągiem w Rail :) Biała przestrzeń wygląda całkiem golfowo, ale z rozgałęzieniem zajmującym trzy linie zajmie trochę pracy.
Wejście jest liczbą całkowitą przez STDIN, ale musi istnieć EOF. Lewa górna część
jest pętlą atoi, która konwertuje dane wejściowe na liczbę całkowitą, a nie EOF (sprawdzane przez
e
instrukcję).Funkcja
f
w ostatnich trzech wierszach pobierax, y, n
i wyświetlax
n
czasy łańcuchów rozdzielone przezy
. Funkcja jest rekurencyjna, z każdymn
zmniejszaniem o jeden, aż do zera.f
jest wywoływany trzy razy, dostarczając różne ciągi dla każdego wiersza. Dziwnie, Rail pozwala, aby nazwy zmiennych były puste, co oszczędza kilka bajtów.Niestety większość bajtów pochodzi z tego
(!x!)
, który wyskakuje na górze stosu i przypisuje go do zmiennejx
, i(x)
który przesuwax
się na stos. Jest to konieczne, ponieważ w Rail nie ma zduplikowanego operatora, więc(!x!)(x)(x)
jest to jedyny sposób na skopiowanie górnej części stosu.źródło
Zadanie 1, CJam, 7 bajtów
Chciałem po prostu uzyskać do tego (prawdopodobnie) optymalne rozwiązanie CJam. Wykorzystuje to fakt, że suma pierwszych n kostek jest kwadratem n- tej liczby trójkątnej, która sama jest sumą pierwszych n liczb całkowitych.
Sprawdź to tutaj.
Zadanie 4, Rozszczepienie,
17388786968 bajtówRepozytorium GitHub dla Fission.
Mój drugi dość skomplikowany program rozszczepienia. :)
Format wejściowy jest nieco dziwny. Aby wesprzeć wejść negatywne, oczekuje się, że pierwszy znak, aby być
+
albo-
wskazać znak. Wartość bajtu drugiego znaku jest wówczas wielkością wejściową (ponieważ rozszczepienie nie może natywnie odczytać liczb całkowitych dziesiętnych). Więc jeśli chcesz111
, przekaż to+o
na STDIN. A jeśli chcesz-56
, zdasz-8
. Zamiast+
i-
możesz użyć dowolnego znaku o niższym lub wyższym kodzie znaków. Może to być pomocne w przekazaniu czegoś takiego-n
(co możeszecho
potraktować jako argument) jak np0n
.Spójrzmy, jak możemy znaleźć reprezentację ujemną liczby dodatniej. Chcemy obliczyć liczbę od najmniejszego do najbardziej znaczącego bitu (wepchniemy te bity na stos i wydrukujemy je wszystkie na końcu, aby uzyskać je we właściwej kolejności). Pierwsza cyfra jest wtedy tylko parzystością liczby, a my dzielimy liczbę całkowitą przez 2, aby kontynuować przetwarzanie. Następna cyfra jest teraz ujemna (o wartości -2) - należy jednak zauważyć, że ten bit zostanie ustawiony za każdym razem, gdy 2-bit zostanie ustawiony na normalną liczbę binarną. Jedyną różnicą jest to, że musimy przeciwdziałać -2 dodatnimi cyframi o wyższej wartości. Więc to, co robimy, to:
1
, zwiększamy pozostałą liczbę o 1, aby przeciwdziałać bitowi ujemnemu (różnica między negabitem a bitem jest jednokrotnie wartością następnego, bardziej znaczącego bitu).Wielkie uproszczenie kodu wynika z zauważenia, że warunkowe dodanie jednego tutaj jest równoważne zaokrągleniu liczby w górę podczas dzielenia liczb całkowitych (jeśli odrzucony bit miał wartość 1, zwiększamy wynik podzielony przez liczby całkowite o 1).
Następnie kolejny bit jest znowu tylko wartością dodatnią, abyśmy mogli go ustalić normalnie. Oznacza to, że chcemy pętli, która oblicza dwa bity naraz, na przemian między zaokrąglaniem w górę a zaokrąglaniem w dół dla pozostałej liczby, ale chcemy wprowadzić pętlę na środku, więc zaczynamy od zaokrąglania w dół.
Jak poradzić sobie z ujemnymi liczbami całkowitymi? Problem polega na tym, że rozszczepienie nie może tak naprawdę wykonywać arbitralnej arytmetyki na ujemnych liczbach całkowitych, ponieważ masy są zawsze nieujemne. Trzeba więc zrobić coś naprawdę skomplikowanego, na przykład pracować z wielkością i śledzić znak gdzie indziej. Jednak ujemną reprezentację liczby ujemnej można obliczyć na podstawie powiązanej liczby dodatniej:
Jeśli n jest ujemne, oblicz ujemną reprezentację n / 2 (zaokrągloną w górę ) i dołącz parzystość n .
To jest dokładnie pierwszy krok w naszej dwubitowej pętli. Wszystko, co musimy zrobić, to uruchomić pętlę w innym punkcie, jeśli znak jest ujemny.
Większość oszczędności z 173 oryginalnych bajtów pochodziła z tych spostrzeżeń, które pozwoliły mi skompresować trzy kontrole parzystości i pętlę dwusekcyjną w jedną pętlę z pojedynczym sprawdzaniem parzystości.
Ten post będzie zbyt długi, jeśli szczegółowo wyjaśnię cały kod, ale wskażę kilka sekcji, aby podać przybliżony układ przepływu sterowania, i możesz ustalić szczegóły, korzystając z referencji Fission.
Zaczynając od
D
, wczytuje to znak do energii, a wielkość do masy atomu, który kończy się w[
(idzie w prawo). Ten bit znaku będzie się zmieniał po każdym przejściu przez kontrolę parzystości i określi, czy zachowamy zaokrągloną w dół czy zaokrągloną w górę połowę wejścia pętli.Jest to pętla, która oblicza poszczególne bity i podaje prawidłową połowę do następnej iteracji.
S
IJ
są wykorzystywane do tworzenia kopii prawej połowie przeliczona po kawałku podpisu,X
a nie kopiowanie. W>
prawym górnym rogu obliczany jest rzeczywisty bit, który jest następnie wysyłany do stosu wK
celu późniejszego pobrania. Myślę, że układ prawego górnego rogu jest całkiem fajny i na pewno warto go szczegółowo zbadać, jeśli interesuje Cię rozszczepienie.%
Jest przełącznik, który zasila numer z powrotem do pętli tak długo jak będzie ona większa niż 0.Gdy liczba osiągnie 0, zamiast tego jest odbijana. To uruchamia kolejną pętlę, która pobiera bity ze stosu, dodaje je do kodu znakowego
0
i drukuje za pomocąO
. Program kończy się, gdy stos jest pusty, ponieważ atom kontrolny zostanie ostatecznie zepchnięty na stos (a potem nie będzie już więcej poruszających się atomów).Zadanie 5, Preludium,
21917996 bajtówStrona Esolangs dla Preludium.
Interpretator fragmentów stosu dla Preludium.
Zaczęło się od standardowego, ręcznie wykonanego programu Prelude z trzema głosami. Po krótkiej rozmowie ze Sp3000 postanowiłem wypróbować jeden głos. Okazało się, że działało to całkiem dobrze, ponieważ o wiele łatwiej jest ponownie używać starszych liter. Potem Dennis dał mi kilka wskazówek i znalazłem aktualną wersję: chodzi o to, aby przesunąć wszystkie przesunięcia z litery
h
na stos jednego głosu w odwrotnej kolejności, a następnie wydrukować je pojedynczo w pętli.h
jest wybierany, ponieważ nie ma goh
w łańcuchu (co jest ważne - w przeciwnym razie0
przesunięcie kończy pętlę) i ponieważ minimalizuje kodowanie przesunięć w odniesieniu do przesunięć dwucyfrowych i ujemnych.Kodowanie offsetowe zostało wygenerowane za pomocą tego skryptu CJam .
Zadanie 8, Mathematica, 28 bajtów
Yay dla wbudowanych. (Nazewnictwo Mathematiki jest tutaj trochę dziwne ...
LongestCommonSubsequence
znajduje najdłuższy wspólny podciąg, a jednocześnieLongestCommonSequence
najdłuższy wspólny podciąg ).Zadanie 9, J, 1 bajt
To samo co odpowiedzi APL i K, ale wydaje się, że nikt jeszcze nie wziął J.
Zadanie 10, Retina,
6760 bajtówRepozytorium GitHub dla Retina.
Każda linia przechodzi w osobny plik i
<LF>
powinna zostać zastąpiona znakiem nowej linii i<empty>
powinna być pustym plikiem. Możesz również umieścić to wszystko w jednym pliku i użyć-s
opcji, ale nie pozwala to na osadzanie znaków nowego wiersza zamiast<LF>
jeszcze. Możesz to naśladować, robiąc coś takiegoJak pokazuje powyższy przykład, oczekuje się, że dane wejściowe będą jednostkowe. Idea kodu polega na utworzeniu trzech kopii pojedynczego wejścia (minus 1), każda z kopią odpowiedniego wiersza. Następnie wielokrotnie powielamy ostatnie dziewięć znaków przed a,
1
aż wszystkie1
s znikną, w ten sposób powtarzając wiersze, jeśli to konieczne. Na koniec usuwamy zewnętrzny ślad końcowy~
.źródło
Eh, chyba zacznę od pary. Pierwszy raz w golfa.
Zadanie 1, Python,
3821 bajtówZsumuj listę wszystkich kostek do x. Zmieniono wyrażenie dzięki xnor
Zadanie 2, TI-Basic 89, 244 bajty
Nie jestem w 100% pewien tego, przetestuje się, gdy znajdę nowe baterie do mojego kalkulatora. isPrime jest wbudowany, ipart jest częścią całkowitą (2.3 -> 2)
Zadanie 3, Perl,
4534 bajtówplik perl 1 2 3 4 -> 2. Zaoszczędziłem kilka bajtów dzięki @nutki. Wydrukowano zamiast zapisywać w zmiennej, a następnie drukować zmienną.
Zadanie 4, Ruby,
4340 bajtówPrzynajmniej działa w wersji 1.9, nie wiem o wersji 1.8. W systemie binarnym „10” * 16 (lub 2863311530) plus liczba, xor z tym 10101010 ... jest nega-binarnym. Zwraca ciąg znaków z cudzysłowami (3 -> „111” zamiast 3 -> 111). Nie mogę znaleźć matematyki do pisania x mniejszą liczbą znaków.
Zadanie 5, Malbolge,
682354 bajtyPrzetestuj online tutaj. Pomyśl, że jest tak krótki, jak to możliwe. Grałem w golfa tyle, ile mogłem. Zapisano 300 bajtów, więc whee?
Zadanie 6, bash,
625040 bajtówZnaleziono około% j z innego postu.
Zadanie 10, Befunge-98, 121 bajtów
Zmieniono na befunge-98. Stary był Befunge-93,
227 157147 bajtów. Użyto grzybów, napisanych w Haskell do testów. Użyłem „wykonaj wiele razy k” i dodając pojedyncze znaki do stosu za pomocą „. Mam wrażenie, że można grać w golfa do 110 lub mniej, ale spędziłem już na tym zbyt dużo czasu ...źródło
lambda n:(n*n-n)**2/4
0=fPart(expression) rather than
iPart (wyrażenie) = wyrażenie` w swojej odpowiedzi TI-89 BASIC.Po pierwsze: zadanie 6 technicznie NIE ma znaczenia; Przesłałem unc niecałą godzinę temu. Jednak prawie przesłałem go dziś rano, ale postanowiłem najpierw napisać zestaw testowy. Idiota.
W każdym razie, oto idzie!
Zauważ, że większość unc nie jest celowo odwrócona, więc tak
&&
naprawdę oznacza||
i tak, dlatego niektóre operacje wyglądają dziwnie (np. Przy użyciu-
do obliczenia kostki).Zadanie 1, Haskell, 21 bajtów
Zadanie 2, Hy, 135 bajtów
Zadanie 3, Dart, 37 bajtów
Moja pierwsza funkcja Dart!
Zadanie 5, INTERCAL, 1047 bajtów
Zadanie 6, unc, 157 bajtów
Zadanie 8, rs, 42 bajty
Demo na żywo.
Zadanie 10, Pyth, 46 bajtów
Demo na żywo.
źródło
!include
. Jednak nie do końca pewny, który z nich.stdio.h
, drugi totime.h
. Potrzebuję obu.unc
służy kompilacja kodu C? GCC będzie działać bez niego dobrzestdio.h
. Nie jestem pewientime.h
.Zadanie 1, APL, 7 bajtów
Możesz wypróbować online za pomocą ngn / apl, chociaż będzie działać z każdą implementacją APL, która domyślnie ma zerowy początek indeksu.
Kostkuje każdą liczbę całkowitą od 0 do input (
⍳⎕
) -1 przez zamianę (⍨
) argumentów do operatora mocy (*
). Powstały wektor jest redukowany przez sumowanie (+/
) i zwracany jest skalar.Zadanie 2, Julia, 42 bajty
Tworzy to anonimową funkcję, która przyjmuje liczbę całkowitą jako dane wejściowe i zwraca wartość logiczną. Aby to nazwać, nadaj mu nazwę, np
f=n->...
.Najpierw używamy wbudowanej funkcji Julii,
isprime
aby sprawdzić, czyn
jest liczbą pierwszą. Jeśli tak, sprawdzamy, czylog2(n+1)
jest to liczba całkowita. Jeśli tak,n
może być napisane jak2^k-1
dla niektórychk
, a zatemn
jest liczbą pierwszą Mersenne.Zadanie 3, ELI , 19 bajtów
To tworzy monadę,
f
która zwraca medianę wektora wejściowego.Niegolfowane + wyjaśnienie:
Przykłady:
Zadanie 4, oktawa, 39 bajtów
Spowoduje to utworzenie uchwytu funkcji, który przyjmuje liczbę całkowitą jako dane wejściowe i zwraca powiązany łańcuch negabinary. Aby to nazwać, nadaj mu nazwę, np.
f=@...
I uruchomfeval(f, <input>)
.Możesz spróbować online .
Zadanie 5, CJam, 47 bajtów
Ciąg jest po prostu drukowany do STDOUT. Możesz spróbować online, jeśli masz na to ochotę.
Zadanie 6, Windows Batch, 46 bajtów
Zmienna
%date%
zawiera bieżącą datę w formularzuThu 06/25/2015
. Możemy wybrać miesiąc i dzień przez coraz podciąg długości 5 po omijając pierwsze 4 znaki:%date:~4,5%
. Stamtąd sprawdzamy, czy to 1 stycznia, i mówimy Szczęśliwego Nowego Roku, jeśli tak jest.Zadanie 7, Pyth, 26 bajtów
Najpierw przypisujemy
G
zakres od 13312 do 19894 włącznie. Następnie zapętlamy 64 razy i przy każdej iteracji tasujemyG
(.SG
), usuwamy i zwracamy ostatni element (.(
) oraz wypisujemy jego reprezentację znaków (pC
).Możesz spróbować online .
Zadanie 8, Ruby, 36 bajtów
Definiuje funkcję,
f
która akceptuje dwa ciągia
ib
, gdziea
znajduje się ciąg do znalezieniab
.Wszystko oprócz wprowadzonych znaków
a
jest usuwane zb
użycia.tr()
i sprawdzamy, czy wynik zawieraa
dokładnie użycie[]
. Będzie to powrótnil
jeśli ciąg nie zostanie znaleziony, dzięki czemu możemy uzyskać wartość logiczną korzystając!
z.nil?
.Zadanie 9, R, 16 bajtów
Tworzy to nienazwany obiekt funkcji, który akceptuje dowolny rodzaj tablicy lub macierzy
x
oraz liczbę całkowitąn
i mnoży każdy elementx
przezn
. Jeśli chcesz, możesz spróbować online .Zadanie 10, Python 3, 92 bajty
Całkiem proste. Możesz spróbować online .
źródło
Zadanie 1,> <>, 10 + 3 = 13 bajtów
Uruchom to, używając oficjalnego interpretera
-v
języka Python, używając flagi (koszt 3 bajtów). Kwadrat jest równy ilości(n - n*n)
i dzielony przez4
, co oczywiście jest równoważne kwadratowi(n*n - n)
i dzieleniu przez4
.Zadanie 2, GAP,
6362 bajty(Zaoszczędził miejsce, pisząc równość na odwrót.)
Zadanie 3, R,
4339 bajtówDzięki Plannapus za miłą poprawę!
Zadanie 4, Piet,
1551351155 * 19 = 95 kodówPrzetestuj za pomocą tego internetowego tłumacza o rozmiarze kodu 13. Lub użyj preferowanego tłumacza - daj mi znać, jeśli masz taki, który Ci się podoba!
Uczynienie go wyjściowym
0
zamiast pustego ciągu wejściowego0
było niewygodne. Użyłem „wtedy-wtedy” na początku, aby zająć się tą sprawą; następnie pętla while, aby obliczyć cyfry w niezerowym przypadku, i wreszcie kolejna pętla while na końcu, aby wyprowadzić cyfry ze stosu.Wielkie dzięki dla Sp3000 za bardzo pomocne komentarze, które pomogły mi zapisać niektóre kody!
Zadanie 5, Lua, 52 bajty
Możesz spróbować tutaj .
Zadanie 6, LaTeX,
157139136127128 bajtówJeśli jest iloczyn dnia i miesiąca
1
, wydrukuj wiadomość; inaczej nic. (Nowy Rok jest szczególnie wygodne dla tego projektu: od wyjścia szukamy jest1
, musimy tylko jednoor
Stwierdzenia.n
THor
zachowanie Instrukcja Określa dla wartościn
).Uwaga: w mojej poprzedniej wersji brakowało powrotu wiersza, co było błędem. (Próbowałem przetestować tę funkcję, ale jej prawidłowe przetestowanie może trochę potrwać ...)
Moja oryginalna wersja korzystała z
calc
pakietu, co było znacznie wygodniejsze niż moja obecna wersja. Coś, o czym należy pamiętać podczas „prawdziwego życia”!Zadanie 7, Ruby, 62 bajty
Zadanie 8, JavaScript, 78 bajtów
Rozwiązanie rekurencyjne, sprawdzające, czy
l
jest to podciągm
. Jeślil
jest pusty, to!l
wynikitrue
są kończone, a funkcja kończy się. (W tym przypadkul[0]
jest niezdefiniowany, ale JavaScript jest z tym OK.) W przeciwnym razie szuka pierwszej instancjil[0]
wm
. Jeśli nie znajdziesz, a następniem.indexOf(l[0])
skutkuje-1
i taku
skutkuje0
i wygaśnięciem funkcji.W przeciwnym razie usuwa pierwszy wpis
l
i pierwszeu
wpisym
i kontynuuje sprawdzanie.Zadanie 9, Python,
7260 bajtówPrzechodzi do „najniższego poziomu”, gdzie
a
nie ma już listy, tylko liczba całkowita, a następnie dokonuje mnożenia.Ogromne podziękowania dla Dennisa za uratowanie mi 12 bajtów!
Zadanie 10, Groovy, 81 bajtów
Wypróbuj tutaj . Początkowo próbowałem zaimplementować coś w rodzaju
.join()
metody Pythona dla ciągów, która łączy ciągi z określonym „ciągiem łączącym” (jak powiązania między wagonami kolejowymi). Ale to kosztowało o wiele więcej niż zaoszczędzono.Mam nadzieję, że nie przestrzegam żadnych konwencji dotyczących akceptowalnych odpowiedzi w tych różnych językach, ale proszę daj mi znać, jeśli tak.
Dziękuję Dennisowi za fantastyczne wyzwanie!
źródło
except:return n*a
zapisuje kilka bajtów dla zadania 9. W przypadku zadania 1 liczę-v
flagę jako jeden bajt.-v
flagęi
(chociaż myślę, że byłoby dobrze, gdyby wspomniano obie wersje, aby ułatwić testowanie).-
,v
). Chodziło mi o to, że masz opcję wprowadzania danych wejściowych jako punktu kodowego za pomocąi
instrukcji.Zadanie 1, Pyth, 5 bajtów
Pobiera numer ze standardowego wejścia. Dzięki @Jakube za wskazanie na bezużyteczne
U
.Zadanie 6, javascript, 56 bajtów
Zadanie 7, CJam, 16 bajtów
Generuje zasięg, tasuje, wybiera pierwsze 64 i mapuje dodanie wartości początkowej i konwersję do postaci. 14 znaków, 16 bajtów.
Zadanie 8, oktawa, 23 bajty
Definiuje funkcję anonimową.
Zadanie 5, PHP, 45 bajtów
Bez kompresji, po prostu drukuje.
Zadanie 9, bajt APL 1
To samo co odpowiedź K.
źródło
.slice(4, 10)
?/an 01/.test(Date())
.)Zadanie 1, R,
2119 bajtówDość bezpośredni. Dane wejściowe ze STDIN.
Zadanie 2, Perl,
4066 bajtówDodano sprawdzanie liczb pierwszych (regex sprawdzania liczb pierwszych Abigails)
Zadanie 3, PARI / GP,
2422 bajtyPo raz pierwszy tego dotknąłem. Może trzeba się czegoś więcej nauczyć.
Zadanie 4, T-SQL, 235 bajtów
Funkcja tabeli wbudowanej za pomocą rekurencyjnego CTE. Bardzo duży, ale przyjemny do zrobienia.
Używać
Zadanie 5, GAP, 48 bajtów
Zadanie 6, Excel,
5148 bajtówDzięki @Bond za 3 bajty.
Zadanie 7, Python 2.6,
989385 bajtówPo raz pierwszy próbowałem cokolwiek zrobić w Pythonie, więc może być znacznie lepiej. Dzięki @Dennis i @Jacob za wspaniałe wskazówki
Zadanie 8, TCL, 57 bajtów
Szkoda, że usunięcie białych znaków zabija to
Zadanie 9, Szczupak, 53 bajty
Funkcja, która zwraca tablicę zwielokrotnioną
Zadanie 10, PowerShell, 88 bajtów
Funkcja PowerShell. Myślę, że mogę to trochę skrócić, ale oto teraz.
I wreszcie skończyłem :)
źródło
=IF(TEXT(NOW(),"md")="11","Happy New Year!","")
.l[:63]
powinien działać i(13312,19894)
jest krótszy niż stałe szesnastkowe (i suma).range(19892,0x4DB5+1)
dałem mi[19892, 19893]
Zadanie 2, J, 10 bajtów
Przygotowuje wartość logiczną 0 lub 1, jeśli dane wejściowe są pierwotne do ich reprezentacji binarnej, a następnie przyjmuje produkt. Działa na bieżącej wersji J.
Zadanie 5, HTML, 45 bajtów
Zadanie 6, ryby, 53 bajty
Na podstawie odpowiedzi bash.
Zadanie 8, APL, 12 bajtów
To jest wyrażenie funkcyjne. Porównuje kolejność znaków znalezionych w większym ciągu z oczekiwaniami, jeśli zostaną posortowane.
Zadanie 9, K, 1 bajt
Powinien działać w dowolnej wersji. Operacje arytmetyczne są rozdzielane na tablice.
źródło
abc
caxbxc
.Zadanie 1, Ruby, 40 bajtów
Pierwszy raz piszę cokolwiek w Ruby. Testowane z ruby 1.8.7.
Zadanie 2, R, 50 bajtów
Oblicza
p
, sprawdź, czy jest to liczba całkowita i czy n i p są liczbami pierwszymi.Zadanie 5, PostgreSQL, 54 bajty
Zadanie 6, Lua, 55 bajtów
Zadanie 8, Python, 65 bajtów
Stosowanie:
Zadanie 10, Julia, 73 bajty
Dzięki @AlexA. za pomoc w skróceniu tego kodu! Przykład wyników:
źródło
log2
f(n)=
zn->
) i zmieniając1:(9*n-1)
po prostu1:9n-1
.\n
jako 1 bajt, według przyzwyczajenia.(" "*"_"^6*" ")^n
możesz użyć" ______ "^n
(podobnie dla| |
części). 70 bajtów:n->print(" ______ "^n*"\n"*"| | "^n*"\n"*(" ()--() ~"^n)[1:9n-1])
. (Biała przestrzeń między taktami się tutaj nie wyświetla)Zadanie 1, Haskell, 17 bajtów
Zadanie 2, Mathematica, 30 bajtów
Zadanie 3, JavaScript, 46 bajtów
Zadanie 5, MATLAB, 47 bajtów
Zadanie 6, Ruby, 56 bajtów
Zadanie 7, Python, 106 bajtów (wcięcie
\t
)Należy pamiętać, że proste użytkowanie
list(set(s))
ma nie pracować tutaj ponieważ spowoduje to nierównomierny rozkład prawdopodobieństwa w przestrzeni wszystkich możliwych ciągów powodu ponownego zamawiania członków listy.źródło
(x*x-x)^2/4
?if c not in s:s+=c
wszystko w jednym wierszu, oszczędzając kilka znaków. Również0x3400
może być zastąpiony13312
, która jest krótsza o jeden znak (i podobnie dla 0x4db5). Wreszcie nie zmieni to liczby znaków, ale jeśli nie podoba ci się wcięcie tabulatora, możesz zamiast tego wprowadzić wcięcie za pomocą pojedynczej spacji.Zadanie 1, Haskell, 15 bajtów
Zadanie 2, Julia, 28 bajtów
Zadanie 3, oktawa, 30 bajtów
Zadanie 5, Yacas , 45 bajtów
Zadanie 6, Mathematica, 46 bajtów
Zadanie 9, PARI / GP, 10 bajtów
źródło
Zadanie 3, klip, 13 bajtów
Inna wersja:
The
`
Wydawało się zbyt kosztowne.Zadanie 4, KSFTgolf, 16 bajtów
Tłumacz jest tutaj.Nie jestem pewien, co robię ... Spowoduje to wydrukowanie negabinaru, a następnie awaria.
W tłumaczu jest błąd. Albo będę mógł zagrać w golfa do 12 bajtów za pomocą wbudowanej konwersji bazowej (ale działa tylko z dodatnimi liczbami całkowitymi):
Oryginalna wersja CJam:
Próbowałem Pip, Ostrich, Clip i Burlesque, aby dowiedzieć się, czy jest esolang z wbudowanym negabinary. Żaden z nich nie działał. Używany KSFTgolf
numpy
, który wydawał się mieć dziwne dziwne zachowanie, gdy podstawa jest ujemna. Ale nie jest łatwo sprawić, by działało z liczbami nie dodatnimi.Zadanie 7, CJam, 15 bajtów
Zadanie 8, APL, 21 bajtów
Wypróbuj online.
źródło
Zadanie 2, masm x86, 40 bajtów
(z wyłączeniem nagłówka, MessageBox itp. - tylko odpowiednie bajty)
Zadanie 3, C, 136 bajtów
Kompiluj za pomocą
gcc -o Prime main.c
Zadanie 10, C ++, 478 bajtów
Kompiluj za pomocą
g++ -o Trucks main.cpp
C i C ++ można skrócić, ale spowodowałoby to błąd kompilatora. Nie znam dokładnych zasad, więc próbowałem zostawić kod bez błędów kompilatora.
źródło
Zadanie 1, Python, 35 bajtów
Zadanie 3, CJam, 9 bajtów
Zadanie 4, JavaScript,
5553 bajtówZadanie 5, Pyth, 46 bajtów
Zadanie 6, C #, 65 bajtów
źródło
Zadanie 1, jq, 24 bajty
Zadanie 6, PostgreSQL, 54 bajty
źródło
Zadanie 1, Cjam, 7 bajtów
Edycja: Właśnie zauważyłem, że Martin opublikował to przede mną. Spróbuję czegoś innego ...
Zadanie 3, Python, 30 bajtów
Python 2.
Zadanie 5, ///, 45 bajtów
/// po prostu wyemituje coś bez żadnych
/
znaków.Zadanie 7, Pyth, 19 bajtów
Program. Proszę, powiedz mi, czy zepsułem matematykę. Wypróbuj tutaj
Zadanie 9, oktawa, 9 bajtów
Uchwyt funkcji anonimowej. Octave automatycznie robi to z skalarem matrix *.
źródło
.S
tasowanie i możesz użyćs
um zamiastjk
.Nie znalazłem czasu na wypróbowanie ich wszystkich, ale oto początek
Zadanie 1, dc, 8 bajtów
Wejście i wyjście na górę stosu, zgodnie z
dc
konwencją.Zadanie 5, Emacs Lisp, 46 bajtów
Nadużycie zasad:
Najlepsze, co udało mi się rozpakować ze skompresowanej formy, to 55, w Perlu:
(powyższe znaki niedrukowalne zostają zniekształcone przez SE, ale ponieważ tak naprawdę nie jest to moja odpowiedź, nie naprawiam tego)
Zadanie 6, SQL, 54 bajty
Uważam, że pierwsze dziesięć dni stycznia jest „odpowiednimi” dniami na powitanie, ale możesz dostosować się do gustu.
now() LIKE
Konstrukt odrabia krótszy niż wydobywania dzień-of-rokDATE_FORMAT(now(),'%j')
.Zadanie 10, sed, 58 bajtów
Wejście unarne.
źródło
strstr
sznurki do podciągów, a nie podsekwencji. Obawiam się, że zadanie 5 to złożoność kolmogorowa, więc pobranie słowa ze słownika może być sprytne, ale nie jest dozwolone.Zadanie 5, MarioGolf , 50 bajtów
To był język, który rozwinąłem od jakiegoś czasu.
Obecna wersja ma wystarczającą funkcjonalność, aby umożliwić uruchomienie tego wyzwania.
Możesz wypróbować online na http://htmlpreview.github.io/?https://raw.githubusercontent.com/ismael-miguel/mariogolf/master/js/testpage.html#c:Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O
Obecnie prace rozwojowe są zatrzymane, a wdrożenie jest niekompletne.
Ostatnie zatwierdzenie nastąpiło 13 marca 2015 r.
Zadanie 6, PHP, 37 bajtów
Ten jest naprawdę łatwy i przyjemny!
Zadanie 10, JavaScript, 121 bajtów
Tak, nie tak golfa ...
Ale to działa!
Spróbuj:
Pokaż fragment kodu
Kod nie wyświetla się dobrze we fragmencie stosu, ponieważ zaczyna się od
"
od wyjścia. Dodano dodatkowe przestrzenie, aby to zrekompensować.Oryginalny kod można wykonać bez problemu na konsoli Chrome, a wynik będzie oczekiwany.
źródło
date(dM)
? Tutaj zwraca „25 czerwca”. (ustawienia narodowe ustawione na en_US) Może „j” i „n” będą służyć lepiej, ponieważ „d” i „m” zwracają wartości 0Zadanie 1, CJam, 10 bajtów
Spróbuj tutaj
Zadanie 5, Retina, 46 bajtów
źródło
Zadanie 1, oktawa, 15 bajtów
EDYCJA: Myślałem, że to dodałem, ale wygląda na to, że zapomniałem zapisać: Wykorzystuje to fakt
sum(1^3+2^3+3^3+...+n^3) = sum(1+2+3+...+n)^2 = [n*(n+1)/2]^2
Zadanie 3, JavaScript, 24 bajty
źródło
Dobra, zróbmy najpierw proste rzeczy:
Zadanie 5, ASP, 45 bajtów
Zadanie 6, JavaScript, 46 bajtów
źródło
Zadanie 1, VBA, 126 bajtów
Nie mam pojęcia, jak grać w golfa w VBA. Nie wpisałem ani jednej spacji, VBA automatycznie wstawia białe spacje.
=f(5)
w komórce w programie Excel wyświetli się 100.Zadanie 2, oktawa, 32 bajty
Zadanie 5, skrypt golfowy, 47 bajtów
Zadanie 9, MATLAB, 9 bajtów
Cóż, to początek ...
źródło