Sekcja rabusiów
Sekcja gliniarzy znajduje się tutaj .
Wyzwanie
Twoim zadaniem jest przebicie postów gliniarzy w tym samym języku i tej samej wersji (na przykład Python 3.5 ≠ Python 3.4 , więc nie jest to dozwolone). Przesłanie jest rozłożone na bok, gdy długość w bajtach jest krótsza niż pierwotne przesłanie. Musisz złamać golf przynajmniej 1 bajt , aby złamać zgłoszenie. Np. Jeśli zadaniem było wykonanie 2 × n , a przesłanie było następujące:
print(2*input())
Możesz przerobić policjanta, wykonując następujące czynności:
print 2*input()
Lub nawet to (ponieważ lambda są dozwolone):
lambda x:2*x
Opublikuj to z następującym nagłówkiem:
##{language name}, <s>{prev byte count}</s> {byte count}, {cop's submission + link}
Na przykład:
Python 2,
1612 bajtów, Adnan (+ link do przesłania)lambda x:2*x
Oblicza A005843 , (przesunięcie = 0).
W takim przypadku złamałeś zgłoszenie.
Punktacja
Zwycięzcą jest osoba, która złamała najwięcej zgłoszeń.
Zasady
- Zgłoszenie crack musi być w tym samym języku, co zgłoszenie gliniarza.
- To samo wejście powinno skutkować tym samym wyjściem (więc a (2) = 4 powinno pozostać 4).
- W przypadku języków takich jak Python można importować biblioteki, które są standardowo zawarte w tym języku. (Więc nie ma numpy / sympy itp.)
- Wejścia i wyjścia są w systemie dziesiętnym (podstawa 10).
Uwaga
To wyzwanie jest zakończone. Zwycięzcą rabusiów sekcji jest feersum . Ostateczne wyniki dla CnR pokazano poniżej:
- feersum : 16 pęknięć
- Dennis : 12 pęknięć
- Leaky Nun : 6 pęknięć
- Lynn : 4 pęknięcia
- mile : 3 pęknięcia
- Martin Ender : 2 pęknięcia
- Emigna : 2 pęknięcia
- jimmy23013 : 1 crack
- Sp3000 : 1 crack
- randomra : 1 crack
- alephalpha : 1 crack
- nimi : 1 crack
- Destructible Watermelon : 1 crack
- Dom Hastings : 1 crack
(**)&2
. Próbowałem2&(**)
i nie udało mi się. :((**)&2
działa dla mnie dobrze: / ale to też działa.Galaretka ,
54 bajty , George V. WilliamsWypróbuj tutaj.
Ukryta funkcja!
Jeśli dobrze zapamiętałem,
ÆḊ
(A) = sqrt (det (AA T )) to n! razy n wymiarowej Lebesgue'a z simplex utworzonym przez punkt n wejściowego i pochodzenia w m-wymiarowej przestrzeni. Gdy n = 1, degeneruje się do odległości euklidesowej. W końcu nie takie dziwne ...źródło
Ḋ
iḞ
są w zakresie UTF-16. Dzięki temu rozwiązaniu 6 bajtów zakłada kodowanie heterogeniczne, a 8 bajtów zakłada kodowanie homogeniczne. Pytam szczerze tutaj.Sześciokąt ,
9133 bajtów, niebieskiRozłożony:
Wypróbuj online!
Nadal wygląda na golfa, ale pomyślałem, że opublikuję go, zanim FryAmTheEggman mnie pokona. ;)
Wyjaśnienie
Oto kilka ścieżek wykonania oznaczonych kolorami:
Są one jednak niepotrzebnie skomplikowane z powodu gry w golfa. Oto dokładnie ten sam kod z poprawnym układem:
Tak lepiej I na koniec, oto schemat pamięci, w którym czerwona strzałka wskazuje początkową pozycję i orientację wskaźnika pamięci (MP):
Istotą jest, że m iteracyjne obliczenie liczby Fibonacciego na trzech krawędziach znakowanych F (I) , C (i + 1) i f (i + 2) , podczas gdy śledzenie iteracyjnej na krawędziach A , B i C . W ten sposób role tych krawędzi są wymieniane cyklicznie po każdej iteracji. Zobaczmy, jak to się dzieje ...
Kod zaczyna się na szarej ścieżce, która wykonuje wstępną konfigurację. Zauważ, że f (i) ma już prawidłową wartość początkową
0
.Teraz zielona ścieżka jest główną pętlą.
_
i>
są tylko zwierciadłami.W ten sposób MP przesuwa się wokół wewnętrznej tryplety krawędzi, obliczając kolejne liczby Fibonacciego, aż
n
osiągnie zero. Następnie wykonywana jest czerwona ścieżka:Diagramy wygenerowane za pomocą HexagonyColorer Timwi i EsotericIDE .
źródło
Haskell,
54 bajtów, xnorProste curry.
źródło
Stack Cats,
1413 bajtów, feersumz
-nm
flagami dla +4 bajtów. Wypróbuj online!Okej, ta pętla była szalona. Próbowałem kilku podejść, takich jak brutalne wymuszanie na zredukowanym alfabecie i brutalne wymuszanie
3x+2
lub5x+4
próby rozszerzenia, ale nigdy nie spodziewałem się, że rozwiązanie faktycznie zawiera pętlę.Najlepszym sposobem, aby zobaczyć, jak to działa, jest dodanie
D
flagi do debugowania (więc uruchom z-nmD
) i włączenie debugowania dla powyższego łącza TIO.{}
Pętli zapamiętuje wierzch stosu na początku pętli i wychodzi kiedy szczyt stosu jest to, że wartość ponownie. Wnętrze pętli zapewnia zabawę odejmując i zmieniając trzy górne elementy stosu. W ten sposób pętla może działać przez tak wiele iteracji.źródło
Sesos,
1411 bajtów, Leaky NunOblicza n 2 . Wypróbuj tutaj.
Zrzut szesnastkowy:
Od montażu:
źródło
1 + 3 + … + (2n–1)
zamiastn × n
:)Niestety,
776759 bajtów, Zniszczalny ArbuzPróbowałem odczytać kod źródłowy tego języka, ale było to zbyt mylące. Po pierwsze,
ip[1]
jest to numer linii, podczas gdyip[0]
jest to numer kolumny, podczas gdycp
współrzędne są używane na odwrót. Czasami jednakcp
przypisywana jest wartośćip
. Zrezygnowałem z próby zrozumienia, co robi program i znalazłem sposób na zakodowanie identycznej sekwencji instrukcji przy użyciu mniejszej liczby pasków.źródło
Brachylog ,
2721 bajtów, FatalizeWypróbuj online!
źródło
J,
1712 bajtów, milPrawie tak samo jak oryginał, tylko bardziej golfowy. :)
i:
posiadanie+1
zasięgu w porównaniu doi.
jest przydatne (i dziwne). Jeśli użyjeszi.
tutaj,n=0
będzie niepoprawne, ale na szczęście toi:
rozwiąże.Wypróbuj online tutaj.
źródło
i:
zerami dla wartości ujemnych. Moja wersja była+/@(]!2*-)i.,]
.M,
106 bajtów, DennisBiorąc pod uwagę, n , to oblicza n th -level silnia n . To było fajne ćwiczenie!
Kod może działać jako Jelly, więc możesz wypróbować go online .
Wyjaśnienie
źródło
Bałwan,
5044 bajtów, KlamkaWypróbuj online!
źródło
((}#1nG|#2nMNdE0nR2aGaZ::nM;aF;aM:nS;aF,nM*))
.Haskell,
1514 bajtów, xnorSpędziłem bezowocne kilka godzin ucząc się rozszyfrować „bezsensowną” składnię ...
until
Zamiast tego znalazłem to.Lub dla mniej miodopłynny 13 bajtów
until odd(+1)
.źródło
Python 2,
4340, xsotźródło
Ryba,
119 bajtów, błotniakWypróbuj tutaj!
Jak to działa
źródło
hV~oX*o+
. Moja 5 bajt Odpowiedź brzmiałaSDmX^
~o
jest fajnie. Nie mam jednak pojęcia, co toSDmX^
robi.m
tylko na,X
a nie na^
? To wiele wyjaśnia.m
i podobne używają tylko następnego węzła. Wszelkie komentarze na temat moich dokumentów itp.?05AB1E ,
74, Emignaźródło
Galaretka,
2221 bajtów, DennisSpędziłem kilka godzin czytając kod źródłowy Jelly dla ostatniego, więc równie dobrze mogę wykorzystać tę „umiejętność”. Mam nadzieję, że @Dennis podzieli się z nami swoimi odkryciami matematycznymi, pozwalając na krótszą formułę (zakładając, że istnieje coś, a nie tylko dziwne galaretki!).
źródło
J,
2019 bajtów, milOblicza to produkt jako sumę kwadratowych liczb Fibonacciego, które są obliczane jako suma współczynników dwumianowych.
Na szczęście sam @miles opublikował w tym komentarzu kod do generowania liczb Fibonacciego .
źródło
Acc !! ,
526525 bajtów, DLoscNie mam pojęcia, jak to działa, ale zauważyłem niewielką poprawę.
źródło
Haskell, 10 bajtów, xnor
Przykład użycia:
map ( gcd=<<(2^) ) [1..17]
->[1,2,1,4,1,2,1,8,1,2,1,4,1,2,1,16,1]
.Jak to działa: Od strony OEIS widzimy, że
a(n) = gcd(2^n, n)
albo napisany w składni Haskell:a n = gcd (2^n) n
. Funkcje z wzoruf x = g (h x) x
może być włączany do punktu wolne za pomocą funkcji=<<
:f = g =<< h
, stądgcd=<<(2^)
co przekłada się z powrotemgcd (2^x) x
.źródło
Sesos,
149 bajtów, Leaky NunOblicza n mod 16 . Wypróbuj tutaj.
Klątwa:
Montaż:
źródło
Python,
3917 bajtów, Zniszczalny arbuzźródło
05AB1E,
94 bajty, EmignaWypróbuj online!
Zamiast tego oblicza tę funkcję:
źródło
Sześciokąt ,
76 bajtów, AdnanRozłożony:
Wypróbuj online!
Ten sam pomysł, nieco inny układ.
źródło
MATL,
1110 bajtów, Luis MendoZamiast robić długość -1 ^ (tablica) konwertuje elementy na wartości boolowskie (które zawsze wynoszą 1), neguje je i przyjmuje iloczyn elementów.
źródło
Galaretka,
1110, DennisWektoryzowana wersja tego samego podejścia.
Wypróbuj online!
źródło
05AB1E,
108 bajtów, AdnanWypróbuj online .
źródło
µNÂʽ
na 5 bajtów. Prawdopodobnie tajna wersja.Brachylog,
1110 bajtów, FatalizeWypróbuj online!
Wyjaśnienie
Brachylog to języki wywodzące się z Prologu, których największą umiejętnością jest dowodzenie.
Tutaj potwierdzamy następujące stwierdzenia:
źródło
Galaretka,
98 bajtów, DennisPrzepraszam! Nie mogłem znaleźć twojego zamierzonego rozwiązania.
Opiera się to na tym, że
C(n+k-1, k)
jest wiele sposobów wyboruk
wartościn
z zamianą.Uwaga: Jest to nieefektywne, ponieważ generuje możliwe zestawy w celu ich policzenia, dlatego staraj się unikać używania dużych wartości n online.
Wypróbuj online lub Zweryfikuj do n .
Później znalazłem inną 8-bajtową wersję, która jest wystarczająco wydajna, aby obliczyć n = 1000. To oblicza wartości przy użyciu współczynnika dwumianowego i pozwala uniknąć generowania list.
Wypróbuj online lub Zweryfikuj do n .
Wyjaśnienie
źródło
M,
98 bajtów, Dennisźródło
QBasic,
3029 bajtów, DLoscźródło