Diberikan input dari bilangan bulat n dan daftar bilangan bulat positif m 1 , m 2 , ..., mengeluarkan daftar bilangan bulat m 1 ' , m 2 ' , ... di mana m x ' didefinisikan sebagai rata-rata m xn hingga m x + n .
Saat menghitung rata-rata ini, abaikan indeks yang berada di luar batas (dan sesuaikan dengan apa Anda membagi jumlah dengan yang sesuai). n akan selalu ≥ 1 tetapi tidak pernah setengah dari panjang m (dibulatkan ke bawah) atau lebih. Ini berarti bahwa panjang minimum m adalah 4. Elemen-elemen dalam m akan menjadi bilangan bulat positif, tetapi output harus akurat ke setidaknya 3 tempat desimal.
Elemen input / output yang merupakan daftar dapat berupa string whitespace- / comma-dipisahkan atau array / daftar / dll. Untuk input, jika solusi Anda adalah sebuah fungsi, Anda juga dapat mengambil argumen pertama dari n dan argumen tambahan sebagai m x (ini berlaku untuk argumen baris perintah juga).
Berikut ini adalah representasi visual dari n=1
:
1 4 5 7 10
__/ | | |
L avg(1,4) = 2.5
| | |
\___/ | |
L avg(1,4,5) = 3.333
| |
\___/ |
L avg(4,5,7) = 5.333
|
\___/
L avg(5,7,10) = 7.333
\___
L avg(7,10) = 8.5
Final output: 2.5 3.333 5.333 7.333 8.5
Karena ini adalah kode-golf , kode terpendek dalam byte akan menang.
Kasus uji ( ini dilakukan secara manual; beri tahu saya jika ada kesalahan ):
In Out
----------------------------------------------------------------------
n=1, m=12 6 3 9 9 7 6 6
n=1, m=1 4 5 7 10 2.5 3.333 5.333 7.333 8.5
n=1, m=1 3 3 7 4 2 4 2 2 2.333 4.333 4.666 4.333 3.333 2.666 3
n=2, m=1 3 5 9 10 14 15 16 23 3 4.5 5.6 8.2 10.6 12.8 15.6 17 18
n=3, m=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
n=3, m=1 2 3 4 5 6 7 8 2.5 3 3.5 4 5 5.5 6 6.5
avg(0,1,2)
tidak sama dengan avg(1,2)
. Untuk "kasus tepi" (ha), Anda tidak boleh rata-rata sebanyak elemen dari daftar input.
m_i
mereka positif.