Saya telah menelusuri situs ini untuk sementara waktu, tetapi baru-baru ini saya benar-benar tertarik untuk mencoba beberapa tantangan. Saya berniat untuk mencoba beberapa topik kode-golf yang ada, tetapi saya tidak memiliki akses Internet untuk sementara waktu kemarin, dan sementara itu, saya memikirkan tantangan saya sendiri.
Tugas Anda adalah membuat program atau fungsi yang mengambil array Mengapung adan integer n, kemudian menetapkan setiap nilai ake rata-rata dari dua di sampingnya, nkali. Ketika berulang kali digunakan dengan peningkatan nilai n, ini menghasilkan gerakan seperti gelombang:

Spesifik:
- Jika hanya ada satu item
a, atau jikan0 atau kurang, program harus mengembalikan array asli. - Input dan output dapat dalam format apa pun yang Anda inginkan, selama mereka terlihat terpisah.
Untuk setiap langkah:
- Item pertama di
aharus menjadi rata-rata dari dirinya sendiri dan item berikutnya. - Item terakhir di
aharus menjadi rata-rata dari dirinya sendiri dan item sebelumnya. - Item lain dalam
aharus menjadi rata-rata item sebelumnya dan item berikutnya. - Pastikan Anda menghitung larik langkah sebelumnya dan bukan yang sekarang!
Kasing uji: CATATAN: Input / output Anda tidak harus dalam format ini!
[0, 0, 1, 0, 0], 1 -> [0, 0.5, 0, 0.5, 0]
[0, 0, 1, 0, 0], 2 -> [0.25, 0, 0.5, 0, 0.25]
[0, 0, 1, 0, 0], 0 -> [0, 0, 1, 0, 0]
[0, 0, 1, 0, 0], -39 -> [0, 0, 1, 0, 0]
[0, 16, 32, 16, 0], 1 -> [8, 16, 16, 16, 8]
[0, 1, 2, 3, 4, 5], 1 -> [0.5, 1, 2, 3, 4, 4.5]
[0, 64], 1 -> [32, 32]
[0], 482 -> [0]
[32, 32, 32, 16, 64, 16, 32, 32, 32], 4 -> [33, 27, 40, 22, 44, 22, 40, 27, 33]
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang. Pemenang akan dipilih dalam satu minggu (pada 1 Agustus). Semoga berhasil!
Sunting: Selamat kepada pemenang, @issacg , dengan total 18 byte!
nharus 4, bukan 5.
ntidak disediakan danatidak disediakan kasus - mereka tidak terlalu banyak menambah