PPCG Jeopardy: Gliny

45

Jak dobrze znasz stronę? Dowiedzmy Się.

To wyzwanie dla . Wątek rabusia.

Jako policjant musisz:

  1. Znajdź nieusunięte, niezamknięte wyzwanie na tej stronie, aby odpowiedzieć. Wyzwanie nie może zawierać następujących tagów: , , , , , , , . Wyzwanie musi mieć ograniczenia dotyczące prawidłowego wyniku.
  2. Wpisz ważny przedstawienie do prowokacji, w wolnym języku znaleźć na Wikipedii lub esolangs.org lub tryitonline . Zgłoszenie nie musi być konkurencyjne, a jedynie ważne. EDYCJA: Hashowanie w twoim zgłoszeniu jest niedozwolone
  3. Opublikuj zgłoszenie tutaj, zachowując wyzwanie w tajemnicy. Musisz opublikować całe zgłoszenie, a także język (i wersję, jeśli dotyczy).

Po tygodniu, jeśli nikt nie znalazł wyzwania, na które odpowiadasz, możesz opublikować wyzwanie, że twoje zgłoszenie odpowiada, w którym momencie twoje zgłoszenie jest bezpieczne . Warto N punktów, gdzie N to liczba głosów pozytywnych na wyzwanie (stan na 17.11.2016 ) (Wyższa jest lepsza)

Aby złamać wyzwanie, złodzieje muszą znaleźć każde wyzwanie, dla którego przesłanie jest prawidłowe.

Uwagi:

  • Jeśli wyzwanie wymaga danych wyjściowych X, a dane wyjściowe XYlub YXgdzie Yjest coś poza spacją, przesłanie nie jest ważne dla tego wyzwania.
  • Wyzwanie nowsze niż 17.11.2016 jest niedozwolone.
  • Dozwolone są języki nowsze niż ukryte wyzwanie.
  • 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ń).
  • Dzięki Danielowi za wstępny pomysł!

Nieprzetworzone zgłoszenia:

<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 100357;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>

Nathan Merrill
źródło
1
Liczba bajtów nie jest wymagana.
Nathan Merrill,
1
Istnieje wiele wyzwań, w przypadku których obliczenie prawidłowych danych wejściowych potrwa znacznie dłużej niż godzinę. Termin nie jest dobrym pomysłem.
Mego
2
@NathanMerrill Obecne sformułowanie sugeruje, że jeśli istnieje dane wejściowe, których obliczenie zajmie godzinę, odpowiedź jest nieprawidłowa. Oznacza to w zasadzie każde nietrywialne wyzwanie.
spaghetto
4
@NathanMerrill Nie feersum tutaj, ale jak skomentowałem poddanie się Mego, nie ma gwarancji, że nie trafisz na kolejną kolizję skrótu przed zamierzoną. Uważam, że gliniarze powinni być pewni, że ich program jest rzeczywiście pierwszym, który pasuje, w takim przypadku, jeśli policjant może to zweryfikować, rabusie też.
Sp3000,

Odpowiedzi:

11

Pip , 9 bajtów ( bezpieczny , 15 punktów)

(q`\w+`1)

To, co robi, powinno być łatwe do zrozumienia, ale pytanie brzmi: dlaczego ... ( TIO )


Wyzwaniem było Jaki jest język? Cel: parsowanie nazwy języka programowania z nagłówka odpowiedzi PPCG. Na przykład:

Input: <h1>JavaScript, 13 chars / 32 bytes</h1>
Desired Output: JavaScript

Nie jestem pewien, czy to nie pasuje do „Wyzwanie musi mieć ograniczenia dotyczące prawidłowej mocy wyjściowej”, ponieważ jest to wyzwanie z ocenione „procentem poprawnych testów”, a zatem nie wymaga poprawnego wyniku dla wszystkich danych wejściowych. Powiem jednak, że powyższy kod ma około 60% poprawnej stawki, co nie jest złe dla czegoś tak prostego.

DLosc
źródło
wygląda na to, że dzieli łańcuch na przecinki i zwraca drugi ciąg w powstałym splicie O_O Nie wiem pip, ale to wszystko, co do tej pory mam.
Yodle,
2
@Yodle dzieląc go na wyrażenia regularne, a nie tylko na przecinki
Maltysen
Przetłumaczone na pyth Wierzę, że jest to coś takiego jak ht:w"\w+"1/ @:w"\w+"1 1, co zmniejsza do htcw/ htczjeśli tylko białe znaki mają znaczenie, ale żaden z nich nie wyświetla żadnych wyników. Byłoby to również w stanie wyciągnąć minuty z formatu GG: mm: ss lub wyodrębnić nazwę zmiennej z deklaracji w stylu C lub liczb po przecinku. Ale nie mogę znaleźć pytań, które wymagałyby tych rzeczy ...: /
Dave
3

Perl - Cracked by DLosc

Dajmy łatwy dla osób nie esolang

Biegnij z -nl

say $_ ~~ reverse y-"({[]})"-")}][{("-r;;r-")}][{("-"({[]})"-y esrever ~~ _$ yas

Wyzwanie: Wygodny kontroler palindromu

Kod ulega awarii po wydrukowaniu prawdziwości, ale zgodnie z tym meta postem, o ile produkuje poprawne dane wyjściowe przed awarią, a wszelkie błędy są wysyłane do STDERR, jest to prawidłowe rozwiązanie.

Gabriel Benamy
źródło
5
Jak gdyby Perl był łatwiejszy do odczytania niż esolang: P
ETHproductions
1
Tak, nie znam żadnych esolangów, ale nie znam też Perla :(
Yodle,
Pęknięty
DLosc
Cholera, zamierzałem opublikować tę dokładną informację, dopóki post nie zostanie wcześniej usunięty (nie mogłem też wymyślić, jak uruchomić go na ideone)
ETHproductions
W przypadku przyszłych wpisów prześlę link ideone z wyjaśnieniem, jak go uruchomić.
Gabriel Benamy,
3

Sześciokąt , 548 bajtów, Pęknięty

69;{108;\_1$;;;/0;108\56;19|1^\6/15\;72_$23371<};;!;6;33|;;015><;;7;@3?;43+1586;2_3219><11;;'_8;;;2_|3;81|2<|8517;327}1_23;1;4$%;_4{5.1;1332_3;029&;'_};;1..527;2'..35;5212_>97;$;2/0;-;3_2;/233;08.._\901;0/13'}92...>/>/57\53;633;4'22;/|~>;441;45;;$161;371;3/;3.7026;`208;1<}>27;140;217;11.0;/2;692;<01/2;301;18;31/;10;/3;44<1914/111;{98;38;;;13/4;<;3;1;;/;112;<.$13032;..27;1;222/1;0<6..1;0;'..933721389/9<6;.;3;37..;;875;*;;0[1;287]59..902;;2;12;1;59;;3#..4;;1=249$345249;...;012}021#>/;44>114/4201;;;3>0;>;24;3/;;116._4>337;237/$5_>1{32;102;255;'_

Wypróbuj online!

Martin Ender
źródło
To wyzwanie prawdopodobnie nie jest tym, którego zamierzałeś, ponieważ dane wyjściowe zmieniają się w zależności od numeru wejściowego. Ale bez danych wejściowych drukuje ciąg znaków w tym wyzwaniu i „złodzieje muszą znaleźć każde wyzwanie, dla którego przesłanie jest prawidłowe”. Więc pęknięty?
Luis Mendo,
@LuisMendo nie całkiem drukuje ten ciąg.
Martin Ender,
(Żeby było jasne, moja odpowiedź nie drukuje trailingu .wymaganego przez to wyzwanie.)
Martin Ender
Tak, widziałem :-) Moja znajomość Hexagony nie pozwoliła mi na duży postęp ...
Luis Mendo
Pęknięty .
Stewie Griffin
3

Perl, bezpieczny , 18 punktów

Edycja : Zmodyfikowałem koniec kodu (zobacz historię edycji), aby obsłużyć przypadek krawędzi (wyzwanie nie mówi nic o tym, a autor nie odpowiedział na pytanie, ale przynajmniej ten kod to obsługuje) . Ale algorytm i logika kodu pozostają takie same.

perl -n0E '/.*/;s/(^0|A)(.{@{+}})?0/A$2A/s||s/0(.{@{+}})?A/A$1A/s?redo:say/A$/+0'

Ten kod nie jest zaciemniony (tylko grał w golfa). (Oznacza to, że -n0Enie są opcjonalne).

Nie wiem, czy to trudne, czy nie, ale myślę, że naprawię się, gdy ktoś to złamie.


Objaśnienia:

Wyzwaniem było Czy labirynt można rozwiązać? .

Ten kod znajdzie każdą osiągalną komórkę labiryntu (i oznaczy je a A): jeśli komórka dotknie komórki oznaczonej a A, jest osiągalna i my też oznaczamy ją A; i robimy to ponownie ( redo). Dokonuje się tego dzięki dwóm wyrażeniom regularnym: s/(^0|A)(.{@{+}})?0/A$2A/ssprawdza, czy spacja znajduje się po prawej lub na dole a A, a s/0(.{@{+}})?A/A$1A/ssprawdza, czy spacja jest po lewej, czy na górze A. Na koniec, jeśli ostatnia komórka zawiera Aosiągalny, w przeciwnym razie nie (to say/A$/+0sprawdza; +0jest tutaj, aby upewnić się, że wynik będzie 0lub 1zamiast pustego ciągu i 1).
Zauważ, że /.*/dopasuje całą linię, a tym samym ustawienie@+do indeksu końca pierwszego wiersza, który okazuje się być rozmiarem linii, co pozwala na użycie, .{@{+}}aby dopasować dokładnie tyle znaków, ile jest na linii. ( @{+}jest równoważne @+, ale tylko te pierwsze mogą być używane w wyrażeniach regularnych)

Aby uruchomić:

$ perl -n0E '/.*/;s/(^0|A)(.{@{+}})?0/A$2A/s||s/0(.{@{+}})?A/A$1A/s?redo:say 1-/0$/' <<< "0000001
0000010
1111011
0000000"
1

(a jeśli zamienisz 1111011wiersz na 1111111, nie można go już rozwiązać, a wynik będzie 0zamiast 1)

Dada
źródło
3

Perl, 56 bajtów, sejf (14 punktów)

undef$/;print+(<>^<>)=~y/\x81-\xff\x00-\x80/\x01-\xff/dr

Wyzwanie było tym , wymagającym stworzenia innego algorytmu; musisz być w stanie wprowadzić dwa pliki i wyprowadzić różnicę lub wprowadzić plik i różnicę i wyprowadzić drugi plik. Punktacja tego wyzwania jest , dzięki czemu najmniejszy diff jest zwycięzcą; jednak to wyzwanie nie wymaga konkurencyjnej odpowiedzi, jest po prostu zgodne ze specyfikacją, więc napisałem program różnicowy w golfowy sposób, który po prostu używa XOR do łączenia danych wejściowych (co oznacza, że ​​ten sam program działa dla różnicowania i niezróżnicowane).

Najtrudniejszą częścią jest odtworzenie długości oryginalnych plików. Dane wejściowe są określone jako ASCII, który jest siedmiobitowym zestawem znaków, dzięki czemu mogę użyć ósmego bitu do śledzenia długości pliku. Podczas różnicowania ustawiamy wysoki bit każdego bajtu za pomocą y///instrukcji (która jest nieco bardziej zaciemniona niż w przypadku arytmetyki bitowej). Kiedy un-diffing (rozpoznany przez zauważenie, że wejście ma już ustawiony wysoki bit), usuwamy NULs z wyjścia. ( Właśnie zdałem sobie sprawę, że to się nie powiedzie, jeśli wejście zawiera NUL bajtów; jednak wyzwanie jest zdefiniowane w kategoriach testowej baterii i na szczęście nie sądzę, że w akumulatorze są bajty NUL. Jeśli tak, to wtedy ten program byłby niepoprawny i musiałby zostać zdyskwalifikowany; problem z jest to, że nikt inny nie ma wystarczających informacji, aby wskazać łatwe do naprawienia błędy w Twojej odpowiedzi!)

Społeczność
źródło
Bezpiecznie, myśli.
msh210,
3

Oktawa, 15 punktów! BEZPIECZNY

@(x,y)find((v=((z=cumsum(x.^2))(y:end)-[0,z(1:end-y)]))==max(v),1)-1

Wypróbuj online tutaj .


Wyjaśnienie:

Kod pobiera ciąg wejściowy xzawierający jedynki i zera 10010110110101oraz liczbę całkowitą y.

Aby znaleźć średnią ruchomą sekwencji w MATLAB / Octave, możesz:

z = cumsum(x);
movmean = z(y:end) - [0 z(1:end-y)];

Ponieważ interesuje nas tylko lokalizacja wartości maksymalnych, a nie rzeczywistych, nie musimy się przejmować konwertowaniem ciągu na liczby. (x.^2)obliczy wszystkie wartości ASCII 48,49dla 0,1. Jest to konieczne, ponieważ Octave nie może używać cumsumbezpośrednio na postaciach. cumsum(+x)byłyby dwa bajty krótsze, ale ujawniłyby, że xjest to ciąg znaków.

To jest właściwie dość dobrze gra w golfa (z wyjątkiem .^2zamiast +). Oczywiście splot byłby prostszy.

Stewie Griffin
źródło
2

MATL . Pęknięty

&:"@FYAYm7>vs

Wypróbuj online!

Wskazałem wejście i wyjście, nawet jeśli nie jest to konieczne. Ponieważ i tak znajduje się w historii edycji: program wprowadza dwie liczby i wyprowadza jedną liczbę.

Luis Mendo
źródło
Pęknięty :-)
ETHproductions
@ETHproductions Och, jak znalazłeś to wyzwanie? Wybrałem to dosłownie losowo .-)
Luis Mendo,
2

C #, 590 bajtów, pęknięty

(I,N)=>{string R="",p="`1234567890-=",P="~!@#$%^&*()_+",q="qwertyuiop[]\\",Q="QWERTYUIOP{}|",a="asdfghjkl;\'",A="ASDFGHJKL:\"",z="zxcvbnm,./",Z="ZXCVBNM<>?";foreach(var c in I){var f=c+"";if(p.Contains(f))R+=p[(p.IndexOf(c)+N)%13];else if(P.Contains(f))R+=P[(P.IndexOf(c)+N)%13];else if(q.Contains(f))R+=q[(q.IndexOf(c)+N)%13];else if(Q.Contains(f))R+=Q[(Q.IndexOf(c)+N)%13];else if(a.Contains(f))R+=a[(a.IndexOf(c)+N)%11];else if(A.Contains(f))R+=A[(A.IndexOf(c)+N)%11];else if(z.Contains(f))R+=z[(z.IndexOf(c)+N)%10];else if(Z.Contains(f))R+=Z[(Z.IndexOf(c)+N)%10];else R+=c;}return R;};

Prawdopodobnie dość łatwy, również dość długi program, _,

Jodła
źródło
Lambda jest Func<string, int, string>. Wygląda na to, że to jakiś szyfr klawiatury. Liczba to liczba znaków, które należy przesunąć w prawo na klawiaturze (tj. ("t",1)= y).
mleko
Pęknięty
mleko,
Fajnie, nie spodziewałem się, że to potrwa zbyt długo: P
Yodle
2

05AB1E , 27 bajtów, pęknięty!

W przypadku tego zgłoszenia wymagane jest również wejście, aby działało. Nie powinno być zbyt trudne do złamania.

ávyl•B;£¡´•54B•2ît•‡y.li(}O

Objaśnienie (dla wyzwania):

á                             # Keep all the letters of the input string
 vy                           # For each letter...
   l                          #   Convert to lowercase
    •B;£¡´•54B                #   String that turns into 'pnbrqk'
              •2ît•           #   Compressed int: 133591
                   ‡          #   Transliterates the following:
                                    p -> 1
                                    n -> 3
                                    b -> 3
                                    r -> 5
                                    q -> 9
                                    k -> 1
                    y.li }    #   If the current letter is lowercase...
                        (     #     Negate that number
                          O   # Sum up the result

Wykorzystuje kodowanie CP-1252 . Wypróbuj online!

Adnan
źródło
publikujesz na pastebin ?: pastebin.com/QyvpUb9b
tuskiomi
@tuskiomi Hmm, nie, to nie byłem ja.
Adnan,
to jest dziwne. Sprawdziłem Twój wynik (musisz się upewnić) i to był 1 z 3 wyników. Zastanawiam się, czy jest bot, który wyciąga odpowiedzi? hmm ..
tuskiomi,
Drukuje drugie wejście
Oliver Ni
1
pęknięty ?
Maltysen,
2

Python, 935 bajtów

def oo000 ( num ) :
 return - ~ num
def ii ( num ) :
 return - ( oo000 ( oo000 ( ~ num ) ) )
def oOOo ( num1 , num2 ) :
 while num2 > 0 :
  num1 = oo000 ( num1 )
  num2 = ii ( num2 )
 return num1
 if 59 - 59: Oo0Ooo . OO0OO0O0O0 * iiiIIii1IIi . iII111iiiii11 % I1IiiI
def IIi1IiiiI1Ii ( num1 , num2 ) :
 I11i11Ii = num2
 oO00oOo = 0
 while I11i11Ii > 0 :
  oO00oOo = oOOo ( oO00oOo , num1 )
  I11i11Ii = ii ( I11i11Ii )
  if 92 - 92: O0O / oo000i1iIi11iIIi1 % Iii1IIIiiI + iI - Oo / o0O
 return oO00oOo
def hgj ( num1 , num2 ) :
 I11i11Ii = num2
 oO00oOo = 1
 while I11i11Ii > 0 :
  oO00oOo = IIi1IiiiI1Ii ( oO00oOo , num1 )
  I11i11Ii = ii ( I11i11Ii )
  if 48 - 48: iII111i % IiII + I1Ii111 / ooOoO0o * o00O0oo
 return oO00oOo
def O0oOO0o0 ( num1 , num2 ) :
 return oOOo ( num1 , - num2 )
 if 9 - 9: o0o - OOO0o0o
 if 40 - 40: II / oo00 * Iii1IIIiiI * o0o . ooOoO0o
print(hgj ( 9 , 9999 ))
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3

Przepraszam, że użyłem zaciemnienia, ale nie jest to zabronione i znacznie łatwiejsze. (I nie miałem tyle czasu, żeby to zrobić sam ...)

Mega człowiek
źródło
Teraz nawet nie rozumiem tego kodu ...
Mega Man,
1
Łatwo jest odszyfrować, ale pytania, które mogą pasować, wydają się być oznaczone jako zajęty bóbr ...
Peter Taylor,
Niezłe zaciemnianie!
OldBunny2800,
To oblicza 9**99bez drukowania niczego (zajmuje to również dużo czasu)
Blue
@PeterTaylor To nie jest zajęty bóbr, właśnie wybrałem dziwny sposób, aby rozwiązać pytanie.
Mega Man,
2

Ruby ( cracked by DLosc )

p n = gets.to_i
p n = n*(3*n-1)/2 until n % 7 == 0
histocrat
źródło
Ups, przegapiłem pierwszy, pkiedy skopiowałem kod. Pęknięty więc.
DLosc
2

MATL . Bezpiecznie , 93 punkty

dP7EGn:q^1J2/h)ts_hX=Gs[BE]Wd=~>~GBz*

Wypróbuj online!


Wyjaśnienie

Wyzwaniem był ślad ekologiczny kodu źródłowego .

Kod oblicza wagę Hamminga (liczbę jedności) w binarnej reprezentacji kodów ASCII ciągu wejściowego; z wyjątkiem tego, że ciąg testwyjściowy 0(zamiast jego ciężaru Hamminga, który jest 17).

Specjalna obudowa tego sznurka jest nieco zaciemniona. Program najpierw oblicza tablicę kolejnych różnic kodów ASCII wejścia i odwraca go. Do testtego daje [1 14 -15].

Następnie tablica utworzona przez pierwsze npotęgi z 14jest obliczana ( [1 14 196 ...]), gdzie njest długość wejściową; i pierwsze floor(n/2)wartości są zachowane. To testdaje dane wejściowe [1 14]. Negowana suma jest dołączana do tej tablicy, co daje [1 14 -15]dane wejściowe test. Jest to sprawdzane pod kątem równości z odwróconą tablicą kolejnych różnic, która została wcześniej uzyskana.

Z drugiej strony suma kodów ASCII znaków wejściowych jest obliczana i porównywana 448, generowana jako (kolejna) różnica elementów w tablicy [2^6 2^9](gdzie ^oznacza moc).

Dane wejściowe testto jedyny ciąg znaków z odwróconymi kolejnymi różnicami formy [1 14 -15]i sumy 448. Różnice []lub [1](w przypadku krótszych łańcuchów inoyt) nie są zgodne z całkowitą sumą 448. Różnic [1 14 196]lub większych nie można osiągnąć za pomocą znaków ASCII.

Kod sprawdza, czy wynik testu dla pierwszego warunku (kolejne różnice) nie jest mniejszy niż zanegowany wynik drugiego warunku (suma całkowita). Daje to 0wtedy i tylko wtedy, gdy oba warunki są spełnione. Na koniec mnoży się to przez liczbę jedynek w binarnej reprezentacji kodów ASCII wejścia.

Luis Mendo
źródło
Wypróbuj online, proszę.
tuskiomi,
@tuskiomi Gotowe. Ale skoro musisz odgadnąć format wejściowy, nie ma on większego zastosowania ...
Luis Mendo
Liczby wydają się działać dobrze.
tuskiomi,
Pęknięty !
Boboback
2
To może być zwycięzca ... :)
Stewie Griffin
2

CJam ( bezpieczny , 21 punktów)

{W+W%~1{1$)}{)a1${\(+W%{1$1$-2=>}{+}w}{\;}?)_@*\+~}w+}

To anonimowy blok (funkcja).

Peter Taylor
źródło
2

Python 3, ~ 2000 bajtów, (bezpieczny: 23 punkty)


Oryginalny program

exec("\n))o0000o000o<)]))]00000o000o[0o0o0o0o0o0o0o0o0o(00000000000000o0o(000000000000000o0o ni oooo0oooo rof)))0o0o0o0o0o0o0o0o0o(00000000000000o0o(000000000000000o0o ni 00oo00oo00oo00oo00oo rof]oooo0oooo[]00oo00oo00oo00oo00oo[0o0o0o0o0o0o0o0o0o(000ooo000ooo000o[ +]0o0o0o0o0o0o0o0o0o ni 00oo00oo00oo00oo00oo rof)00oo00oo00oo00oo00oo(000ooo000ooo000o[ni ooo000ooo000o rof)ooo000ooo000o(o0o0o0o0o-o0000o000o(000ooo000ooo000o(00o00o00o(tnirp\n)00000o000o,00000o000o(tresni.o0o0o0o0o0o0o0o0o0o:))00000000000000o0o=yek,0o0o0o0o0o0o0o0o0o(xam(00000000000000o0o<)o0o0o0o0o0o0o0o0o0o(00000000000000o0o elihw \n:)]00000o000o[]o0oooo,0o0o0o0o0o0o0o0o0o[( ni o0o0o0o0o0o0o0o0o0o rof\n;'=01NgwiNgwSNbBibpBybw8GMwAzbw8GM'b,]0o0o0o0o00oo ni ooooo0o00oo rof]]::0oooooo0oooo[))ooooo0o00oo(0oooooo(o0oooo ni ooo000ooo000o rof)ooo000ooo000o(00o00o00o[[=ooooo00oo,0o0o0o0o0o0o0o0o0o\n)'=kSZsBXd0BCLn5WayR3cgwCdulGK'b(0o0o.)(0o0ooo0o00ooo.o000oo esle o0000o000o fi o0000o000o+o0000o000o=0oooooo0oooo;)000000000000000o0o(o00oo00o=000000000000000o0o;)))(edoced.)o0o(0oo000o(000000o(o000oo,))(]o0000o000o[]edoced.)'==QbhRHa'b(0oo000o,'oo0o0o00o'[(oo0o0oo=o0o0o0o0o,oo0o0o0oo\n;)00000000000000o0o(o00oo00o,))(edoced.)'vJHZ'b(0oo000o(o00oo00o,)'bin'(o00oo00o=00000000000000o0o,0oooooo,o0oooo;))0000o0o0o(000000o(o000oo:0000o0o0o adbmal = o00oo00o ;)))(0o0oo00o(0oooooo(0o0oo0oo=0o0o0o0o00oo\n00000000000001**o0000o000o=o0000o000o;))(edoced.)'=cSbhRHanwCd1BnbpxyXfRncvBXbp91Xs4WavpmLnAyJ'b(0oo000o(o000oo=o0oo0oo00o,0o0oo00o,o0oo0oo,0o0oo0oo;edoced46b.)000oo0o(oo0o0oo=0oo000o\n;'==QYsxGKb92bwADMvVCN8EDIm9mcg8GMvBSauBybw82bwADMvBzbdliKq4SN'b ,))0o0oo00oo(000000o(__tropmi__ :0o0oo00oo adbmal,'base64',]0o0oo00oo[:0o0oo00oo adbmal = oo00oo00oo00oo00oo00oo,oo0o0oo,000oo0o,0oooooo\n;tni,'range','len','==Abh1mYkFGIv9GMwAzb682bwADMvBSYuRGIv9GMvBzbw82buYWYjR3bylWYshybvBDMw8WLxkiKqITJv9GMwAzb'b,lave,0**0000000000000009,0 ,]1-::[0o0ooo0o00o0oo:0o0ooo0o00o0oo adbmal,mus = 00o00o00o,000000000000000o0o,00000000000000o0o,o0o,o000oo,o0000o000o,00000o000o,000000o,000ooo000ooo000o\n"[::-1])

Wyzwanie

W rzeczywistości jest to odpowiedź na moje własne wyzwanie, Primenary Strings . Wybrałem to, ponieważ prawie wszystko wyjdzie 0, oprócz kilku danych wejściowych, do których włamywacz prawdopodobnie nie wejdzie. Kod jest prostym algorytmem, ale mocno zaciemnionym (ręcznie).

FlipTack
źródło
1

Pip , 13 bajtów

V$.C(A*a-A9)a

Wypróbuj online (podaj dane jako argumenty, a nie dane wejściowe).

DLosc
źródło
1

JavaScript, 533 bajtów, pęknięty! autor: Dave

_=this;[490837,358155,390922].map(y=function(M,i){return _[[
U=[y+[]][+[]]][+[]][i]]=_[M.toString(2<<2<<2)]});function g(
s){return Function("a","b","c","return "+s)};e=g(u(["","GQ9\
ZygiYTwyPzE6YSpk","C0tYSki","SkoYSkvZChhLWIpL2QoYikg"].join(
"K")));h=g("A=a,B=b,g('A(a,B(a))')");j=g("a/b");L=g("Z=a,Y=\
b,g('Z(a,Y)')");k=L(j,T=2);F=g(u("KScpKWIsYShFLCliLGEoQyhEJ\
yhnLGM9RSxiPUQsYT1D").split("").reverse().join(""));RESULT=F
(h(e,k),j,g("_[U[10]+[![]+[]][+[]][++[+[]][+[]]]+[!+[]+[]][\
+[]][+[]]+17..toString(2<<2<<2)].pow(T,a)"));

Nie moje ulubione zaciemnianie, ale jest trochę fajne. Jak zadzwonić RESULT(inputs).

Mogę przyznać nagrodę w wysokości +50 punktów, jeśli szczegółowo wyjaśnisz, co robi mój kod wraz z twoim crackem. (Nie muszą być razem, więc nie krępuj się FGITW, jeśli ci to odpowiada.)

Conor O'Brien
źródło
1

Pyke, 3458 bajtów, SAFE , wynik 99

wB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddnwB"["R";7m"ddddddddddddddddddddddddddwE"["R";7m"ddddddddddddddddddddddddddw?"["R";7m"ddddddddddddddddddddddddddsQI30>Q%)

Wypróbuj tutaj!

Istnieje kilka (30) 0x1bbajtów, które wydają się być zjedzone przez SE.

niebieski
źródło
możesz oznaczyć to jako bezpieczne
FlipTack,
1

Oktawa, 40 punktów. BEZPIECZNY

Nieco zaciemniona odpowiedź na dość popularne wyzwanie.

y=find((x=mod(input('')*2,32))>12);sign(sum(x.*[1-y:nnz(x+8)-y]))

Polecam przetestować to na oktawie-online . Ideone nie jest tak dobry, jeśli chodzi o STDIN.


To było wyzwanie dla symulatora dźwigni 2015. Wpisz w formularzu '123^32. Wyjście będzie -1 0 1dla lewych, zrównoważonych i prawych w tej kolejności.

Wygląda to tak, gdy jest w pełni golfowy :

s=mod(input(''),16);i=find(s>9);s*[1-i:numel(s)-i]'*inf

Wyprowadza to odpowiednio -Inf, NaN, Infdla L, B, R.

Stewie Griffin
źródło
1
dlaczego Oliver dokonał edycji w bajcie? to nie jest codegolf, a odpowiedź nie musi być konkurencyjna dla wyzwania, wystarczy, że jest
FlipTack
1

Haskell, BEZPIECZNY

m f=map(f<$>)
g=reverse.("":)
f s|(f:c:s)<-m fromEnum.g.words$s,
    (f:c:s)<-init.unwords.g.m(\s->toEnum$if c!!0==s||s==sum(-32:c)then(last$f)else s)$s=init$s

Wypróbuj na Ideone . "Stosowanie":

Prelude> f "Programming Puzzles & Code Golf"
"rogramming Puzzles "

W wyzwaniu Sznurek Shenanigans jeden otrzymuje sznurek i dwa znaki, a następnie powinien zastąpić każde wystąpienie pierwszego znaku drugim. Jednak dane wejściowe to jeden ciąg zawierający tylko rzeczywisty ciąg w cudzysłowie, a dwa znaki są oddzielone białymi znakami:

Prelude> f "\"Hello, World!\" l r"
"Herro, Worrd!"
Laikoni
źródło
1

TeX, 240 bajtów, SAFE , wynik 129

\let\N\newcount\let\I\ifnum\let\A\advance\let\E\else\N\a\N\b\N\c\def\D#1:#2:#3:{\I#1>#2\A#1by-#2\D#1:#2:#3:\E\I#1=#2 #3=1\E#3=0\fi\fi}\def\P#1:#2:{\I#1>#2\a=#1\D\a:#2:\c:\I\c=0\b=#2\A\b by1\P#1:\the\b:\E N\fi\E\I#1=1 N\E Y\fi\fi}\P1:2:\end

Zapisz jako jeopardy.tex, a następnie uruchom pdftex jeopardy.texi otwórz jeopardy.pdf.

Wynik: plik PDF z tekstem N(i numerem strony 1).


źródło
0

Python 3, Cracked!

Pisanie tego było przezabawne, mimo że w końcu łatwo było je złamać :)

Z,O=__import__('time').strftime,401*5;from base64 import*;Q,I=(Z('%Y')),(O/401)*2;_=int(Q);D,P=(O,-~_),int(Q[~1:]);Q,I=(6+(P-eval(b64decode(b'KHN1bShbeCU0PDEgZm9yIHggaW4gcmFuZ2UobWluKEQpLG1heChEKSldKSk=').decode()+'*-1'*(O>_)))/10,'3'+repr(((P-10)*3)+10));print(Q,I)
FlipTack
źródło
wiadomość zakodowana w base64:(sum([x%4<1 for x in range(min(D),max(D))]))
Niebieski,
tak, właśnie wrzuciłem to dla zabawy @BlueEyedBeast
FlipTack
Z jakiegoś powodu. podstawienie tego zdekodowanego ciągu daje mi TypeError>.>
Yodle,
@Yodle Czy oryginalny kod działa? Jeśli tak, upewnij się, że poprawnie podmieniłeś dekodowany ciąg znaków
FlipTack,
Tak, właśnie dlatego jestem bardzo zdezorientowany haha. Jestem prawie pewien, że robię to dobrze, po prostu usuwam base64decode (...). Decode () z ciągiem, prawda?
Yodle,
0

Pyth - Cracked by Maltysen

Jeśli to pomaga, Pyth nie był jedną z odpowiedzi na ukryte wyzwanie.

u=.+G.*A

Wypróbuj to!

Steven H.
źródło
pęknięty ?
Maltysen,
Pęknięty! To było szybkie.
Steven H.,
0

C #, 91 bajtów

_=>{int b=0,w=0;for(;1>w||0<*(_-1);b+=++w**_++<<(9*w));return b%(3<w?903302656:41458688);};
mleko
źródło
0

Mathematica, 161 bajtów

Which[LetterQ@#,If[UpperCaseQ@#,ToUpperCase,#&][FromLetterNumber~Array~LetterNumber@#],DigitQ@#,Array[IntegerString,FromDigits@#+1,0],True,#]&/@Characters@#<>""&
JungHwan Min
źródło
0

BrainFuck - 140 Bytes, Cracked by daHugLenny

,>,>,>-[>+<-----]>---[<+>-]<[<<<->>>->+<]>[<<<->>>->+<]>[<<<->>>-]<<<[>+<-]<[>>++++++++++<<-]<[>>>>++++++++++[<++++++++++>-]<<<<-]>>>[>.+<-]

Wypróbuj tutaj!

FinW
źródło
1
Pęknięty
acrolith
0

C ++ 14, pęknięty

#include<vector>

auto h(auto i){return 0;}
auto h(auto i, auto x, auto...p){
 return x+(i-1?h(i-1,p...):0);
}

auto g(auto v){return v;}
auto g(auto v,auto x, auto...p){
 v.push_back(h(x,x,p...));
 return g(v,p...);
}

auto f(auto...p){
 return g(std::vector<int>{},p...);
}

Pobiera różnorodną liczbę parametrów i zwraca a vector<int>.

Stosowanie:

int main() {
 auto v = f(4,7,3,4,5);
 for (auto i:v) std::cout << i << ", ";
 std::cout << std::endl;
}
Karl Napf
źródło
Tytuł mówi C ++ 14, więc potrzebujesz przynajmniej, g++a jeśli twoja wersja nie jest przynajmniej 6.2lub coś, czego potrzebujesz-std=c++14
Karl Napf
1
Pęknięty
Peter Taylor
0

Mathematica, 34 bajty, pęknięty

±1={±0={}};±n_:=Array[±#&,n,0]

Nazwana funkcja ( ±).

JungHwan Min
źródło
Nie mogę powiedzieć, czy to jest to, a przeoczyłeś zasadę „Brak cyfr od 0 do 9 do pojawienia się w kodzie”, czy też to jest to i zdecydowałeś się na przyjęcie jednoznacznego wkładu w celu zaciemnienia.
Martin Ender,
Ups, to pierwsza, ale całkowicie tęskniłem za tą zasadą ... Zmienię kod, aby pasował do drugiej :)
JungHwan Min.
Pęknięty wtedy. ;)
Martin Ender,
0

Rubinowy, 50 bajtów

count = 0; 400.times do count +=1; end; puts count

wynik: 400

dkudriavtsev
źródło
Pęknięty.
Martin Ender
0

Python 2.7, 45 bajtów

import numpy;lambda a,n,t:numpy.arange(a,t,n)

Wskazówka (a może nie): „ryba używa numpy”.

2016.11.23 - druga wskazówka: „Nie zostawiaj niczego pływającego!”

agtoever
źródło
Czy wszystkie trzy dane wejściowe są absolutnie konieczne? Czy to może nadal działać, jeśli kodujesz jeden (lub więcej) wejść?
Stewie Griffin
@StewieGriffin Tak. Pytania wyraźnie wymagają trzech danych wejściowych; jak również w tekście, a także w przypadkach testowych.
agtoever