Tôi đã cuộn quanh trang web này một thời gian, nhưng gần đây mới thực sự quan tâm đến việc thực sự thử một số thử thách. Tôi đã có ý định thử sức mình với một số chủ đề golf-code hiện có, nhưng tôi đã không truy cập Internet trong một ngày hôm qua, và trong lúc đó, tôi đã nghĩ ra thử thách của riêng mình.
Nhiệm vụ của bạn là tạo ra một chương trình hoặc hàm lấy một mảng Floats avà một số nguyên n, sau đó đặt từng giá trị vào amức trung bình của hai bên cạnh nó, nlần. Khi được sử dụng nhiều lần với giá trị tăng dần n, điều này tạo ra một chuyển động giống như sóng:

Cụ thể:
- Nếu chỉ có một mục trong
ahoặc nếun0 hoặc ít hơn, chương trình sẽ trả về mảng ban đầu. - Đầu vào và đầu ra có thể ở bất kỳ định dạng nào bạn muốn, miễn là chúng được phân tách rõ ràng.
Đối với mỗi bước:
- Mục đầu tiên trong
asẽ trở thành mức trung bình của chính nó và mục tiếp theo. - Mục cuối cùng
asẽ trở thành mức trung bình của chính nó và mục trước đó. - Bất kỳ mục nào khác
asẽ trở thành mức trung bình của mục trước và mục tiếp theo. - Hãy chắc chắn rằng bạn đang tính toán mảng của bước trước chứ không phải mảng hiện tại!
Các trường hợp kiểm tra: LƯU Ý: Đầu vào / đầu ra của bạn không phải ở định dạng này!
[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]
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng. Người chiến thắng sẽ được chọn trong một tuần (vào ngày 1 tháng 8). Chúc may mắn!
Chỉnh sửa: Chúc mừng người chiến thắng, @issacg , với con số khổng lồ 18 byte!
nnên là 4, không phải 5.
nkhông được cung cấp vàakhông được cung cấp - chúng không thực sự bổ sung nhiều.