Rozwiązywanie tajnych sekwencji zamiany


12

To wyzwanie dla gliniarzy , wątek gliniarzy można znaleźć tutaj .

To jest wątek złodziei, Twoim zadaniem jest przyjmowanie zgłoszeń w wątku gliniarzy i próba znalezienia ukrytych sekwencji. Jeśli znajdziesz sekwencję, którą można zastąpić oryginalnym kodem, aby obliczyć tę sekwencję, która jest poprawnym pęknięciem. Poinformuj gliniarzy o swoich pęknięciach, aby się zaktualizowali.

Punktacja

Twój wynik to liczba udanych pęknięć, przy czym więcej pęknięć jest lepszych.


Dlaczego nie pozwolić rabusiom skomentować sekwencję # w wątku gliniarzy?
Lynn,

5
@ Lynn Myślę, że złodzieje powinni mieć możliwość uzyskania pozytywnych opinii za swoją pracę w łamaniu odpowiedzi. Z tego powodu wolę format dwóch wątków.
Ad Hoc Garf Hunter

Odpowiedzi:




4

Python 3, ppperry

A018226

Oryginalny kod umieścił nazwę sekwencji w komentarzu. Ponieważ komentarz prawdopodobnie nie może wpłynąć na kod, pomyślałem, że ukryta sekwencja musi być podsekwencją oryginału. Szybkie wyszukiwanie pierwszych kilku terminów wywołało A018226. Ponieważ jest to podsekwencja, kod działa dla obu. A018226 jest nawet wymieniony na stronie oryginalnej sekwencji, jeśli spojrzysz wstecz

Jednym ze sposobów na uogólnienie sekwencji liczb magicznych w A018226.


To było zamierzone rozwiązanie. Miałem pomysł, aby sprawić, by ludzie myśleli, że to niemożliwe, umieszczając sekwencję w komentarzu.
pppery

@ppperry Komentarz był tym, co je rozdało :). Uznałem, że musi to być podsekwencja. W każdym razie dobra zabawa!
Ad Hoc Garf Hunter

Może mógłbym to lepiej ukryć, ale wciąż jest ciekawym zwrotem w porównaniu z typowymi odpowiedziami na tego rodzaju rzeczy; o liczbach, a nie o kodzie.
pppery





3

dc , Bruce Forte

Pęknięty za pomocą A027480 .


Dobra robota! Co to rozdało?
ბიმო

2
Operacje modułu ograniczają liczbę generowanych sekwencji. W tym przypadku 8 × 9 = 72. Więc podłączyłem formułę do arkusza kalkulacyjnego i wygenerowałem je wszystkie. Tylko garstka sekwencji wygenerowała wszystkie liczby całkowite dla wszystkich terminów, a te zgadywały, że interesujące byłyby tylko sekwencje z wszystkimi dodatnimi terminami. Potem chodziło o przeszukanie sekwencji i ponowne wprowadzenie numeru referencyjnego. Przeszukano pięć, trzy miały odpowiadające wpisy, trzeci dopasowywał wyjścia dla wszystkich danych wejściowych.

Gdybym tylko nie podzielił 2; P
ბიმო




2

Python 3.6 , RootTwo

Oryginał to A005843
Pęknięty z A001107

Wypróbuj online

Ewaluowany kod oryginału (bez komentarzy) to n*2wersja z pękniętą wersją 4*n*n-n*3.

Po odfiltrowaniu błędów składniowych, niezadeklarowanych zmiennych, zerowych podziałów itp., Przejście przez pozostałą listę nie trwało długo. Było kilka fałszywych trafień (jak A004917), które musiałem odfiltrować ręcznie, ponieważ sprawdziłem tylko kilka pierwszych liczb, ale nie było to zbyt częste.

Ponadto A040489 próbuje obliczyć n**3436485154-n, co nieco mnie spowolniło. : P


Gratulacje. Otóż ​​to. Czy brutalnie to zmusiłeś? Próbowałem zrobić kilka niepoprawnych identyfikatorów sekwencji w poprawnym Pythonie, aby spowolnić, ale chyba za mało.
RootTwo

@RootTwo Zrobiłem głównie brutalną siłę. Miałem też trochę innych heurystyk, ale nic bardzo złożonego. Zajęło mi kilka minut, aby znaleźć 1107, około 8, aby dostać się do 5843. Z ciekawości podszedłem do 50000. Żadnych innych meczów w tym zakresie. Sądzę, że 15-20% to poprawny python.
Phlarx,

1

Chip , Phlarx

Pęknięty za pomocą A060843 . Po przeczuciu zgadłem, że sekwencja będzie krótka!


Masz to! Dobra robota
Phlarx,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.