To wyzwanie dla gliniarzy i rabusiów. To jest nić rabusia. W gwint policjanta jest tutaj .
Policjanci wybiorą dowolną sekwencję z OEIS i napiszą program p, który wypisze pierwszą liczbę całkowitą z tej sekwencji. Będą one również znaleźć kilka ciągów s . Jeśli wstawisz s gdzieś w p , ten program musi wydrukować drugą liczbę całkowitą z sekwencji. Jeśli wstawisz s + s w tej samej lokalizacji w p , ten program musi wydrukować trzecią liczbę całkowitą z sekwencji. s + s + s w tej samej lokalizacji wydrukuje czwartą itd. i tak dalej. Oto przykład:
Python 3, sekwencja A000027
print(1)
Ukryty ciąg ma dwa bajty .
Łańcuch jest taki +1
, ponieważ program print(1+1)
wypisze drugą liczbę całkowitą w A000027, program print(1+1+1)
wypisze trzecią liczbę całkowitą itp.
Policjanci muszą ujawnić sekwencję, oryginalny program p oraz długość ukrytego ciągu s . Rabusie łamią przesłanie, znajdując dowolny ciąg znaków do tej długości i lokalizację, w której można go wstawić w celu utworzenia sekwencji. Ciąg nie musi być zgodny z zamierzonym rozwiązaniem, aby być poprawnym pęknięciem, podobnie jak lokalizacja, w której jest wstawiany.
Jeśli złamiesz jedną z odpowiedzi gliniarzy, opublikuj swoje rozwiązanie (z ujawnionym ukrytym ciągiem i lokalizacją) oraz link do odpowiedzi. Następnie skomentuj odpowiedź gliniarzy, podając link do twojego cracka tutaj.
Zasady
Twoje rozwiązanie musi działać dla dowolnej liczby w sekwencji lub przynajmniej do rozsądnego limitu, w którym nie powiedzie się z powodu ograniczeń pamięci, przepełnienia liczby całkowitej / stosu itp.
Zwycięski rabuś to użytkownik, który pęka najwięcej zgłoszeń, a remis jest tym, który pierwszy osiągnął taką liczbę pęknięć.
Zwycięski gliną jest glina z najkrótszych ciągów s , który nie jest pęknięta. Tiebreaker to najkrótsza p . Jeśli nie ma żadnych niezrackowanych zgłoszeń, policjant, który miał rozwiązanie niesprawdzone dla najdłuższych zwycięstw.
Aby zostać uznane za bezpieczne, rozwiązanie musi pozostać niezakłócone przez 1 tydzień, a następnie musi zostać ujawniony ukryty ciąg (i lokalizacja, w której należy go wstawić).
s nie może być zagnieżdżony, musi być konkatenowany od końca do końca. Na przykład, jeśli ów był
10
, każda iteracja pójdzie10, 1010, 101010, 10101010...
zamiast10, 1100, 111000, 11110000...
Wszystkie rozwiązania kryptograficzne (na przykład sprawdzanie skrótu podłańcucha) są zakazane.
Jeśli s zawiera znaki spoza ASCII, musisz również określić używane kodowanie.
%
lewicowych współpracowników.