Tugas
Tentukan mod-fold sebagai fungsi dari bentuk f (x) = x% a 1 % a 2 % ...% a k , di mana a i adalah bilangan bulat positif dan k ≥ 0 . (Di sini, % adalah operator modulo asosiatif kiri.)
Diberikan daftar n bilangan bulat y 0 ,…, y n − 1 , tentukan apakah ada mod-fold f sehingga masing-masing y i = f (i) .
Anda dapat memilih dan memperbaiki dua output Y dan N untuk fungsi / program Anda. Jika ada huruf f seperti itu , Anda harus selalu mengembalikan / mencetak dengan tepat Y ; jika tidak, Anda harus selalu kembali / mencetak persis N . (Ini bisa menjadi true
/ false
, atau 1
/ 0
, atau false
/ true
, dll.) Sebutkan ini dalam jawaban Anda.
Pengajuan terpendek dalam byte menang.
Contoh
Tentukan f (x) = x% 7% 3 . Nilai-nilainya mulai:
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ...
| f(x) | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | ...
Dengan demikian, diberikan 0 1 2 0 1 2 0 0 1 2
sebagai masukan untuk solusi kami, kami akan mencetak Y , karena hal ini f menghasilkan urutan itu. Namun, diberikan 0 1 0 1 2
sebagai input, kita akan mencetak N , karena tidak ada f yang menghasilkan urutan itu.
Uji kasus
Rumus yang diberikan ketika output adalah Y hanya untuk referensi; Anda tidak boleh mencetaknya.
0 1 2 3 4 5 Y (x)
1 N
0 0 0 Y (x%1)
0 1 2 0 1 2 0 0 1 2 Y (x%7%3)
0 0 1 N
0 1 2 3 4 5 6 0 0 1 2 Y (x%8%7)
0 1 2 0 1 2 0 1 2 3 N
0 2 1 0 2 1 0 2 1 N
0 1 0 0 0 1 0 0 0 0 1 Y (x%9%4%3%2)