Saya punya tantangan sederhana untuk Anda saat ini. Mengingat sebuah array bilangan bulat positif A (atau setara dalam bahasa Anda), ganti setiap entri A i dengan jumlah berikutnya A i unsur A , bersepeda kembali dari awal jika tidak ada cukup item.
Seperti biasa, Anda dapat bersaing dalam bahasa pemrograman apa pun dan dapat mengambil input dan memberikan output melalui metode standar apa pun dan dalam format apa pun yang wajar, sambil memperhatikan bahwa celah ini dilarang secara default. Anda juga dapat mengambil ukuran A sebagai input. Ini adalah kode-golf , jadi pengiriman terpendek (dalam byte) untuk setiap bahasa menang.
Contoh / Kasus Uji
Diberikan [1,3,4,5], kode Anda harus di-output [3,10,13,14], karena 1digantikan oleh 3, 3digantikan oleh 4+5+1=10(perhatikan bagaimana kode itu dibungkus kembali dari awal), 4oleh 5+1+3+4=13dan 5oleh 1+3+4+5+1=14.
Mengingat [3,2,1,9], program Anda harus menghasilkan [12,10,9,33], karena kami mengganti 3dengan 2+1+9=12, 2dengan 1+9=10, 1dengan 9dan 9dengan 3+2+1+9+3+2+1+9+3=33(perhatikan bagaimana kami kembali dari awal lebih dari sekali).
Beberapa kasus uji lagi untuk Anda pilih:
[4,3,2,1] -> [10,7,5,4]
[3,2,1,9] -> [12,10,9,33]
[1,3,4,5] -> [3,10,13,14]
[4,4,3,2,2] -> [11,11,8,6,8]
[3,5,3,2,1] -> [10,14,6,4,3]
[3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3]
[7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30]
[28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34]
[1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] -> [2,7,13,14,12,8,5,3,2,7,9,7,4,2,1]
