Mari kita tentukan urutan penunjuk menjadi urutan apa pun sehingga a (n) = a ((n-1) - (a (n-1))) forall n lebih besar dari beberapa angka hingga. Misalnya jika urutan kita mulai dengan
3 2 1
Istilah kita berikutnya adalah 2, karena a (n-1) = 1 , (n-1) -1 = 1 , a (1) = 2 (contoh ini adalah indeks nol namun tidak masalah apa indeks yang Anda gunakan akan dihitung selalu sama.). Jika kita mengulangi prosesnya, kita mendapatkan urutan yang tidak terbatas
3 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2
Tugas
Mengingat beberapa array awal dari bilangan bulat positif menghasilkan urutan pointer dimulai dengan array itu.
Jenis output
Output dimaksudkan untuk menjadi fleksibel, jika Anda memilih untuk menulis fungsi sebagai program Anda dapat kembali, baik daftar bilangan bulat tak terbatas atau fungsi yang mengindeks urutan. Jika Anda memilih untuk menulis program lengkap, Anda dapat menampilkan ketentuan urutan tanpa batas.
Anda juga dapat memilih untuk mengambil dua input, array awal dan indeks. Jika Anda memilih untuk melakukan ini, Anda hanya perlu menampilkan jangka waktu urutan pada indeks itu.
Anda tidak akan pernah diberi urutan yang membutuhkan pengindeksan sebelum awal urutan. Misalnya 3bukan input yang valid karena Anda akan memerlukan persyaratan sebelum 3untuk menyelesaikan istilah berikutnya.
Ini adalah kode-golf sehingga skor Anda akan menjadi jumlah byte dalam program Anda dengan skor yang lebih rendah lebih baik.
Uji Kasus
test case dipotong untuk kesederhanaan
2 1 -> 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 ...
2 3 1 -> 2 3 1 3 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 2 ...
3 3 1 -> 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 3 3 1 3 ...
4 3 1 -> 4 3 1 3 4 4 3 3 4 4 4 3 4 4 4 4 3 4 4 4 4 3 4 4 4 4 3 4 ...