Ini adalah tantangan Polisi dan Perampok. Ini adalah utas perampok. The benang polisi di sini .
Polisi akan memilih urutan apa pun dari OEIS , dan menulis program p yang mencetak bilangan bulat pertama dari urutan itu. Mereka juga akan menemukan beberapa string yang s . Jika Anda memasukkan s di suatu tempat ke p , program ini harus mencetak bilangan bulat kedua dari urutan. Jika Anda memasukkan s + s ke lokasi yang sama di p , program ini harus mencetak bilangan bulat ketiga dari urutan. s + s + s di lokasi yang sama akan mencetak yang keempat, dan seterusnya dan seterusnya. Ini sebuah contoh:
Python 3, urutan A000027
print(1)String tersembunyi adalah dua byte .
Untaiannya adalah +1, karena program print(1+1)akan mencetak bilangan bulat kedua di A000027, program print(1+1+1)akan mencetak bilangan bulat ketiga, dll.
Polisi harus mengungkapkan urutan, p program asli , dan panjang string yang tersembunyi s . Perampok memecahkan kiriman dengan menemukan string apa pun hingga panjang itu dan lokasi untuk memasukkannya untuk membuat urutan. String tidak perlu cocok dengan solusi yang dimaksudkan untuk menjadi celah yang valid, juga tidak lokasi di mana dimasukkan.
Jika Anda memecahkan salah satu jawaban polisi, posting solusi Anda (dengan string dan lokasi tersembunyi terungkap) dan tautan ke jawabannya. Kemudian komentari jawaban polisi dengan tautan ke celah Anda di sini.
Aturan
Solusi Anda harus berfungsi untuk nomor apa pun dalam urutan, atau setidaknya hingga batas yang wajar jika gagal karena batasan memori, integer / stack overflow, dll.
Perampok yang menang adalah pengguna yang memecahkan sebagian besar pengiriman, dengan tiebreak yang mencapai jumlah celah pertama.
Polisi menang adalah polisi dengan string terpendek s yang tak retak. Tiebreak adalah terpendek p . Jika tidak ada pengiriman yang tidak terputus, polisi yang memiliki solusi tidak terpecahkan untuk kemenangan terlama.
Agar dinyatakan aman, solusi Anda harus tetap tidak retak selama 1 minggu dan kemudian memiliki string tersembunyi (dan lokasi untuk memasukkannya) terungkap.
s mungkin tidak bersarang, itu harus digabungkan ujung ke ujung. Sebagai contoh, jika s adalah
10, setiap iterasi akan pergi10, 1010, 101010, 10101010...daripada10, 1100, 111000, 11110000...Semua solusi kriptografi (misalnya, memeriksa hash dari substring) dilarang.
Jika s berisi karakter non-ASCII, Anda juga harus menentukan penyandian yang digunakan.




%rekan kiri itu.