Jak dobrze znasz stronę? Dowiedzmy Się.
To wyzwanie dla gliniarzy i rabusiów . Wątek gliny .
Jako złodziej musisz:
- Znajdź nieusunięte, niezamknięte wyzwanie, które pasuje do zgłoszenia gliny. Wyzwanie nie może zawierać następujących tagów: gliniarze i rabusie , konkurs popularności , trolling kodu , podstępny , zajęty bóbr , król wzgórza , wskazówki , łączenie odpowiedzi . Wyzwanie musi mieć ograniczenia dotyczące prawidłowego wyniku.
- Opublikuj wyzwanie tutaj i link do łamanego gliniarza
- Dodaj komentarz „Cracked” do postu gliniarzy, z linkiem do tej odpowiedzi
Otrzymasz 1 punkt plus 1 punkt za każdy 24-godzinny okres, w którym przesłanie pozostało nierozpoznane (maksymalnie 7). Tiebreaker to całkowita liczba złamanych postów.
Uwagi:
- Jeśli wyzwanie wymaga wyjścia
X
, a wyjścieXY
lubYX
gdzieY
jest coś oprócz spacji, złożenie nie jest ważny dla tego wyzwania. - Wyzwanie nowsze niż 17.11.2016 nie jest dozwolone.
- Zastrzegam sobie prawo do zakazania niektórych wyzwań, jeśli mają one szerokie zastosowanie (można je zastosować do większości wszystkich zgłoszeń).
- Pamiętaj o dodaniu jednego lub dwóch zdań jako wyjaśnienia (pomaga to również przekształcić zgłoszenie w komentarz)
- Dzięki Danielowi za wstępny pomysł!
cops-and-robbers
obfuscation
Nathan Merrill
źródło
źródło
Odpowiedzi:
Oblicz prawdopodobieństwo uzyskania o połowę więcej głów niż rzut monetą.
Wpis gliniarzy (opublikowany przez Conor O'Brien): /codegolf//a/100521/8927
Pierwotne pytanie: obliczyć prawdopodobieństwo uzyskania o połowę mniejszej liczby głów niż rzut monetą.
W opublikowanym rozwiązaniu zastosowano kilka technik zaciemniania, a następnie wiele warstw tej samej techniki zaciemniania. Po przejściu kilku pierwszych sztuczek wyodrębnienie rzeczywistej funkcji stało się prostym (choć żmudnym!) Zadaniem:
Chwilę zajęło mi zrozumienie, na co patrzę (przez pewien czas podejrzewałem, że ma to coś wspólnego z entropią), ale kiedy już się zakręciło, udało mi się łatwo znaleźć pytanie, szukając „prawdopodobieństwa rzutu monetą”.
Ponieważ Conor O'Brien zakwestionował dogłębne wyjaśnienie swojego kodu, oto podsumowanie ciekawszych fragmentów:
Zaczyna się od zaciemnienia niektórych wbudowanych wywołań funkcji. Uzyskuje się to przez kodowanie base-32 nazw funkcji, a następnie przypisanie ich do nowych nazw przestrzeni globalnej pojedynczego znaku. W rzeczywistości używany jest tylko „atob”; pozostałe 2 są tylko czerwonymi śledziami (eval ma ten sam skrót jak atob, ale musi zostać zastąpiony, a btoa po prostu nie jest używane).
Następnie jest kilka trywialnych pomyłek w celu ukrywania kodu. Można je łatwo odwrócić:
Większość zaciemniania polega na użyciu
g
funkcji, która po prostu definiuje nowe funkcje. Jest to stosowane rekurencyjnie, przy czym funkcje zwracają nowe funkcje lub wymagają funkcji jako parametrów, ale ostatecznie upraszczają się od samego początku. Najciekawszą funkcją, która z tego wynika, jest:Istnieje również ostatnia sztuczka z tą linią:
Chociaż ponieważ następnym bitem jest „.pow (T, a)”, zawsze było całkiem prawdopodobne, że będzie to „Math”!
Kroki, które podjąłem na drodze rozszerzania funkcji, to:
Struktura zagnieżdżania funkcji jest oparta na użyteczności; najbardziej zewnętrzna funkcja „D” / „j” oblicza stosunek, a następnie funkcje wewnętrzne „C” / „h” i „E” (inline) obliczają niezbędne zliczanie monet. Funkcja „F”, usunięta w trzecim przejściu, odpowiada za połączenie ich razem w użyteczną całość. Podobnie funkcja „k” odpowiada za wybór liczby głowic, które należy obserwować; zadanie, które deleguje do funkcji stosunku „D” / „j” za pomocą funkcji wiązania parametrów „L”; służy tutaj do ustalenia parametru
b
naT
(tutaj zawsze 2, czyli liczba stanów, jaką moneta może przyjąć).W końcu otrzymujemy:
źródło
f
. Ale reszta jest poprawna! Warto też trochę dopracować, w jaki sposóbRESULT
można uzyskać pochodzenie;)MATL, Luis Mendo , Policz liczbę mocnych miejsc po przecinku między 2 liczbami
Zorientowałem się, co robi, grając z wejściami, ale nie mogłem zorientować się, jakie wyzwanie musiałbyś obliczyć liczbę całkowitą w zakresie, którego suma była większa niż 7-krotność liczby cyfr. Po przeczytaniu dokumentów MATL, opracowałem ogólne wyjaśnienie tego, co to robi:
Następnie przełączyłem wyszukiwanie ze „sumy cyfr większej niż 7 razy” na „średnią cyfrę większą niż 7”, co dało wyzwanie, którego szukałem.
źródło
아희 (Aheui), JHM , najkrótsza nieskończona pętla nie wytwarzająca sygnału wyjściowego
Próbowałem go online, kod po prostu działa i nie ma danych wyjściowych.
źródło
Odwróć 1-wymiarowy układ
Myślę, że to jest to, jak się na to pierwsza odpowiedź.
/codegolf//a/100368/31343
źródło
C #, Yodle , Biorąc pod uwagę dane wejściowe, przesuń je wzdłuż klawiatury o N znaków
Wejście
string
iint
i zmienia każdychar
zstring
nachar
toN
klucze z dala od klawiatury (zawijania wokół).źródło
Perl, Gabriel Benamy , Wygodny kontroler palindromu
Kod był oczywiście jakimś palindromem. Kiedy wybrałem
y- - -
strukturę i zauważyłem, co jest tłumaczone, wiedziałem, jakie to wyzwanie.źródło
Pyth - /codegolf//a/100391/31343
Szybko dowiedziałem się, co zrobił program, ale znalezienie wyzwania trwało dość długo.
Inna droga naprzód
to jest mój bufor.
źródło
05AB1E, 27 bajtów, Adnan
Ocena wyniku na podstawie szachowego ciągu FEN
Rozpakowałem łańcuch i przeszukałem to wyzwanie.
źródło
MATL, Luis Mendo , Oblicz masę młota o niskiej masie młota
Przetestowałem wprowadzanie liczb i znalazłem masę młota na OEIS .
Potem przeszukałem PPCG, próbowałem wprowadzić ciągi i zadziałało.
źródło
C ++, Karl Napf , Sumowanie podciągów
Demo online pokazujące pierwszy przypadek testowy z pytania.
źródło
Ruby, histokrata , zaimplementuj maszynę prawdy
Kod definiuje iterowany system funkcji,
f(n) = n*(3*n-1)/2
który działa, dopókin
mod 7 nie wyniesie 0. W0
związku z tym wprowadzanie kończy się natychmiast (po0
jednorazowym wydrukowaniu ). Wprowadzanie1
daje1
, co prowadzi do nieskończonej pętli drukowania1
. Inne dane wejściowe kończą się po 1-3 krokach, jeśli wartość początkowan
jest zgodna z 0, 2, 3, 5 lub 6 mod 7, lub rośnie wiecznie, jeśli jest zgodna z 1 lub 4 modem 7. Ale to nie ma znaczenia.źródło
Sześciokąt, 548 bajtów, Martin Ender
To jest „ Drukuj każdą postać, której Twój program nie ma wyzwanie ”!
Wydruki:
Który jest bardzo podobny do wyjścia w tym . Wskazówka była taka, że ostatnia
.
nie został wydrukowany. Ponadto sam kod nie zawierał liter i wszyscy wiemy, że frazy na wyjściu zawierają wszystkie litery w alfabecie.źródło
Python, 935 bajtów, Mega Man , Jaka jest najmniejsza dodatnia liczba całkowita 10, którą może wydrukować program krótszy (w znakach) niż on sam?
Nie próbowałem tego. Ale wydaje mi się, że wypisuje liczbę dłuższą niż program.
źródło
Python 3, /codegolf//a/100381/31343
Użyj wzoru xkcd, aby przybliżyć przybliżoną liczbę ludności na świecie
Właśnie szukałem wyzwań, które obejmowały lata przestępne (ze względu na dekodowalność podzielności przez cztery moduły sprawdzające) i które nie brały udziału.
źródło
%4
istrftime
, ale dobrą robotę do zauważania ważnych części kodu (większość to bełkot)7.3 328
, i przeszukało je. Wyzwanie pojawia się od razu.Brainfuck, FinW , Wydrukuj tabelę ASCII
To było łatwe, ponieważ opublikował swoją odpowiedź na to wyzwanie.
Link do jego odpowiedzi
źródło
Mathematica, JHM , Naturalne budownictwo
Jednoargumentowy operator
±
oblicza reprezentację liczb naturalnych na podstawie teorii zbiorów.źródło
Ruby, wat , 400. Pytanie Celebration / Challenge
To była pierwsza rzecz, jaką znalazłem, szukając „400”. To powiedziawszy, wyzwanie wydaje się błędne i powinno być popconem i prawdopodobnie powinno być również zamknięte z powodu braku obiektywnych wymagań.
źródło