To wyzwanie dla gliniarzy i rabusiów . Wątek rabusiów jest tutaj .
Ciekawe pytanie do przemyślenia to:
Jeśli mam ciąg liczb, ile z nich muszę podać, zanim stanie się jasne, o jakiej sekwencji mówię?
Na przykład, jeśli chcę mówić o dodatnich liczbach całkowitych w kolejności od , mógłbym powiedzieć , ale czy to naprawdę wystarczy?
Mam jeden sposób na udzielenie odpowiedzi na to pytanie, a bycie golfistą wymaga od golfa. Podano wystarczającą liczbę sekwencji, jeśli najkrótszy kod, który je tworzy, tworzy wszystkie warunki sekwencji. Jeśli myślimy o tym w kategoriach golfa kodu, oznacza to, że dostarczyłeś wystarczającą liczbę przypadków testowych, tak aby najkrótszy kod, który przejdzie przez przypadki testowe, wykonał pożądane zadanie.
Wyzwanie
To wyzwanie jest wyzwaniem dla gliniarzy i rabusiów . W którym policjanci będą prezentować przypadki testowe, a złodzieje będą musieli znaleźć krótszy sposób na sfałszowanie przypadków testowych niż zamierzona sekwencja. Gliniarze przedstawią następujące rzeczy:
Fragment kodu, który przyjmuje nieujemną liczbę całkowitą jako dane wejściowe i tworzy liczbę całkowitą jako dane wyjściowe. Ten kod określi Twoją sekwencję. Twój kod nie musi obsługiwać 0 jako danych wejściowych, zamiast tego wybierz 1 jako najmniejszą wartość wejściową. Powinno być jasne, czy tak jest w twojej odpowiedzi.
Wszelkie odpowiednie wymagania dotyczące platformy lub języka, które mogą wpłynąć na wynik, na przykład rozmiar longinta.
Liczba wraz z pierwszymi członami sekwencji obliczonymi przez kod. Będą one działać jako „przypadki testowe”.n
Zachęcamy do wyjaśnienia, co robi twoja sekwencja i połączenia OEIS, jeśli istnieje, jednak to kod definiuje sekwencję, a nie opis.
Rabusie znajdą program w tym samym języku, który jest krótszy niż ten przedstawiony i przejdzie wszystkie przypadki testowe (produkuje takie same dane wyjściowe dla pierwszych danych wejściowych jak kod gliniarza). Kod rabusia musi również różnić się wyjściem z programu policjanta dla pewnej liczby większej niż .n
Gliniarze muszą umieć łamać własne odpowiedzi przed ich przesłaniem.
Po tygodniu policjant może ujawnić swój crack i oznaczyć swoją odpowiedź jako Bezpieczną. Odpowiedzi oznaczone jako takie nie mogą być już łamane.
Punktacja
Odpowiedzi gliniarzy zostaną ocenione według liczby bajtów, przy czym im mniej bajtów, tym lepiej. Pęknięte odpowiedzi dają nieskończony wynik.
źródło
Odpowiedzi:
cQuents , 4 bytes ( Cracked )
Wypróbuj online!
Oto osiem (
n=8
) przypadków:Objaśnienie kodu:
Sekwencja jest
1,2,3,4,5 ...
więc połączona,""
więc staje się12345 ...
i::
oznacza, że drukuje do wejścia.źródło
Python 3 ,
6657 bajtów ( pęknięty )cracked by xnor
również cracked przez Cat Wizard przed edycją
Wypróbuj online!
Dzień dobry! Oto sekwencja do złamania dla . Daje te pierwsze 40 elementów z indeksowaniem 0, to nie jest sekwencja OEISn = 40
źródło
Python 2 , 44 bajty ( pęknięty )
Wypróbuj online!
Liczby pierwsze. Jaka sekwencja może być czystsza? Lub więcej przesadzone ? Twoim celem jest stworzenie pierwszych 50 liczb pierwszych do
n=1
celun=50
.Kod jest generatorem twierdzenia Wilsona skopiowanym dokładnie z tej wskazówki .
Różne wartości dla sekwencji alternatywnej nie wynikają z ograniczeń maszyny, takich jak przelewy i precyzja. Brak bibliotek stron trzecich.
Cracked przez Arnaulda, @PoonLevi i Mr. Xcodera.
źródło
Wolfram Language (Mathematica) ,
3934 bajtów (Bezpieczny)Wypróbuj online!
Wygląda na proste, rozwiązanie powinno być trudne.
Powyższa lista jest równa:
Oto szablon do sprawdzenia rozwiązania: Wypróbuj online!
Zamierzone pęknięcie
źródło
Haskell , 29 bajtów (Pęknięty: 1 , 2 )
Wypróbuj online!
map a [0..20]
Zamierzone rozwiązanie (20 bajtów)
źródło
źródło
JavaScript (ES6), 12 bajtów ( pęknięty )
Ten jest raczej łatwy.
Wypróbuj online!
To jest A139275 :
I zgodnie z zasadami wyzwania musi się różnić.
źródło
n=>8*n*n+n
różni sięn=94906273
, czy jest to poprawny crack?n=9
.|
zamiast+
)Malbolge, 10 bajtów
Zauważ, że kod kończy się bajtem 0x14 (kontrola urządzenia 4).
Wypróbuj online!
Sekwencja 0 do indeksowania to crack
[9, 19, 29]
.źródło
> <> , 276 bajtów ( pęknięty )
Wypróbuj online! Zadzwoń do tego,
-v n
aby uzyskać n-ty element (1-indeksowany)Wypróbuj online! Zadzwoń z,
-v n
aby uzyskać listę elementów n-1, zaczynając od 1Internetowy tłumacz ryb
Długi i skomplikowany, to OEIS A004000 .
źródło
n
(zgodnie z pytaniem)?Galaretka , 6 bajtów , Bezpiecznie!
Definiuje to sekwencję o indeksie zerowym , w której:
1,1,1,2,2,3,4,5,6,7,8,9,10,11,12,13
Wypróbuj online! ( tutaj jest wersja z jedną wartością)
Obecnie nie ma tego w OEIS (chociaż A34138 będzie działać jako crack, jeśli będzie wystarczająco krótki)
Zamierzone pęknięcie
źródło
JavaScript, 26 bajtów ( pęknięty )
OEIS A007660
Wyjście to pierwsze 6 elementów z indeksowaniem 0 (1,1,2,3,7,22)
(nieco przesunięty w stosunku do tego, co ma na liście OEIS)
Wystarczy stworzyć prostą do rozwiązania odpowiedź, aby rozpocząć
Wypróbuj online!
źródło
JavaScript, 16 bajtów ( pęknięty )
Wymagane dane wejściowe do dopasowania wynoszą 0,1,2,3,4.
Wypróbuj online!
źródło
APL (Dyalog Unicode) ,
1715 bajtówWypróbuj online!
Pierwsze 13 warunków (oparte na 1) to:
Wskazówka: w zamierzonym rozwiązaniu wykorzystywana jest jedna z najmniej używanych wbudowanych funkcji.
źródło
Łuska , 5 bajtów ( pęknięty przez Jonathana Allan )
Wypróbuj online!
Wyjaśnienie
Rozwiązanie
źródło
JavaScript, 25 bajtów ( pęknięty 21 bajtów)
Sekwencja 7,11,12,13,13, a następnie nieskończone 14s.
Zamierzone rozwiązanie 22 bajty:
Wypróbuj online!
źródło
JavaScript, 22 bajtów ( pęknięty )
Jest to indeksowane 0 i wymagana jest dokładność do wartości wejściowej 15. Nie można go znaleźć w OEIS
Moje rozwiązanie 20 bajtów
Wypróbuj online!
źródło
> <> , 42 bajty, pęknięty
Wypróbuj online!
Sekwencja do złamania (indeksowana 0):
101786, 5844, 19902
(nie w OEIS).Zamierzone rozwiązanie , w celach informacyjnych.
źródło
4
Perl 6 , 53 bajtów
Wypróbuj online!
Anonimowy blok kodu, który zwraca zindeksowaną sekwencję Kolakoski ( OEIS A000002 ). Wymagane są rozwiązania, aby dopasować pierwsze 130 elementów, aby dla niektórych
n > 129
różniły się od sekwencji Kolakoskiego.źródło
Pascal (FPC) , 86 bajtów ( pęknięty )
Wypróbuj online!
Moje oryginalne rozwiązanie było
ale r_64 uczynił to jeszcze lepszym !
źródło