To policjanci i złodzieje, jeśli nie znasz formatu, kliknij znacznik, aby przejść do wiki. Dla tego pytania nie będzie wątku złodziei.
Gliny
Twoim zadaniem jako Cops jest wybranie dwóch sekwencji z Online Encyclopedia of Integer Sequences i napisanie programu, który przyjmuje n-ty element jednej sekwencji jako dane wejściowe i wysyła n-ty element drugiej sekwencji. Następnie udzielisz odpowiedzi zawierającej kod i pomijając wybrane sekwencje. Rabusie spróbują znaleźć sekwencje, które wybrałeś, a jeśli uda się znaleźć sekwencje, które masz na myśli, lub inne sekwencje, dla których twój program musisz oznaczyć jako Pęknięty . Jeśli złodziej poinformuje cię crack, który Twoim zdaniem jest nieważny, możesz przedstawić dowód, że nie jest to crack. W przeciwnym razie musisz to zaznaczyć.
Zgodnie ze zwykłymi odpowiedziami, które nie były łamane przez 7 dni, można je oznaczyć jako bezpieczne. Policjant może oznaczyć swoją odpowiedź jako bezpieczną, ujawniając sekwencje, które mieli na myśli. Gdy będzie to bezpieczne, odpowiedź nie będzie już mogła zostać złamana.
Celem jest zminimalizowanie liczby bajtów twojego programu, pozostając bez krakowania.
Przykład
Poniższy kod w języku Python tłumaczy n-ty element A000290 (liczby kwadratowe) na A000217 (liczby trójkątne):
lambda x:sum(range(0,int(x**.5+1)))
Postanowienia i wymagania
Jeśli wybierzesz sekwencję, dla której nie udowodniono, że jest skończona, musisz wypisać wszystkie warunki, które mogą istnieć, nie tylko te wymienione na stronie OEIS
Jako wyjątek od poprzednich języków reguł bez liczb całkowitych o nieskończonej precyzji, nie muszą one wypisywać ani wprowadzać liczb poza swoim zakresem.
Nie można udowodnić, że rozmiar sekwencji wejściowej jest mniejszy niż sekwencja wyjściowa.
Twoja sekwencja wejściowa nie może zawierać żadnych powtarzalnych elementów (w przeciwnym razie zadanie jest prawie niemożliwe)
OEIS zawiera indeks na swojej stronie (pierwszy numer po nagłówku „PRZESUNIĘCIE”) domyślnie jest to twoje przesunięcie dla n (n równa się indeksowi dla pierwszego elementu w sekwencji), jeśli wybierzesz inny indeks, który musisz podać w Twoja odpowiedź.
Jeśli wybierzesz przesunięcie inne niż wymienione w OEIS, nadal musisz odwzorować wszystkie elementy w sekwencji wejściowej na odpowiedni element w sekwencji wyjściowej.
Jeśli twój program odbiera dane wejściowe, które nie znajdują się w sekwencji wejściowej, może zrobić, co zechce (zachowanie niezdefiniowane). Jednak prawdopodobnie leży w najlepszym interesie użytkownika, aby nadal wypisywać liczbę całkowitą.
Celowe utrudnianie uruchamiania kodu jest niesportowe, ponieważ powoduje, że jego wykonanie jest czasochłonne, lub wybór niewolnego języka . Chociaż będę egzekwować to drugie, nie mogę obiektywnie egzekwować tego pierwszego. Jednak błagam cię, dla zabawy, abyś nie próbował tego pierwszego, ponieważ sprawia to wyzwanie szczególnie trudnym dla osób ze słabszymi komputerami.
Rabusie
Twoim zadaniem jako Złodziei jest wybranie nieskradzionych, niebezpiecznych odpowiedzi i znalezienie sekwencji między nimi. Jeśli znajdziesz rozwiązanie, które działa (niekoniecznie rozwiązanie zamierzone przez gliniarzy), skomentuj sekwencje odpowiedniej odpowiedzi.
Rabusie nie powinni się zbytnio przejmować weryfikacją, czy dwie konkretne sekwencje są rozwiązaniem, należy opublikować rozwiązanie, jeśli pasuje do wszystkich wpisów w OEIS. Jeśli nie jest to kolejność, o której gliniarz miał na myśli, może on przedstawić dowód, że jest niepoprawny, lub oznaczyć go jako pęknięty, jeśli nie może go znaleźć.