To wyzwanie dla gliniarzy i rabusiów . Wątek gliniarzy do tego wyzwania 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?1 , 2 , 3 , …
Mam jeden sposób na udzielenie odpowiedzi na to pytanie i bycie golfistą. To wymaga 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 przechodzi przez przypadki testowe, wykonał pożądane zadanie.
Wyzwanie
To wyzwanie jest wyzwaniem dla gliniarzy i rabusiów . W którym gliniarze 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 dodatnią liczbę całkowitą jako dane wejściowe i tworzy liczbę całkowitą jako dane wyjściowe. Kod ten może mieć wartość zero lub jeden indeksowany, ale powinno być jasne, czym jest indeksowanie. Ten kod określi twoją sekwencję.
Wszelkie odpowiednie wymagania dotyczące platformy lub języka, które mogą mieć wpływ 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
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
Punktacja
Rabusie zostaną punktowani w liczbie znalezionych pęknięć, przy czym im więcej pęknięć, tym lepiej. Odpowiedź można złamać ponownie, znajdując poprawną odpowiedź krótszą niż oryginalne pęknięcie. Jeśli odpowiedź zostanie złamana po raz drugi, punkt zostanie przyznany drugiemu crackerowi, a nie pierwszemu.