กำหนดอินพุตของจำนวนเต็มnและรายการจำนวนเต็มบวกm 1 , m 2 , ... , แสดงรายการรายการจำนวนเต็มm 1 ' , m 2 ' , ... โดยที่m x 'ถูกกำหนดเป็นค่าเฉลี่ยของ m xnผ่านม. x n +
เมื่อคำนวณค่าเฉลี่ยเหล่านี้ให้ละเว้นดัชนีที่อยู่นอกขอบเขต (และปรับสิ่งที่คุณหารผลรวมด้วย) nจะเป็น≥ 1 เสมอ แต่จะไม่ยาวครึ่งหนึ่งของความยาวm (ปัดลง) หรือมากกว่า ซึ่งหมายความว่าความยาวต่ำสุดของmคือ 4 องค์ประกอบในmจะเป็นจำนวนเต็มบวก แต่ผลลัพธ์จะต้องมีความถูกต้องถึงตำแหน่งทศนิยมอย่างน้อย 3 ตำแหน่ง
องค์ประกอบอินพุต / เอาต์พุตที่เป็นรายการอาจเป็นสตริงที่คั่นด้วยช่องว่างหรือคั่นด้วยเครื่องหมายจุลภาคหรืออาร์เรย์ / รายการ / ฯลฯ สำหรับอินพุตถ้าโซลูชันของคุณเป็นฟังก์ชันคุณอาจใช้อาร์กิวเมนต์แรกของnและอาร์กิวเมนต์เพิ่มเติมเป็นm x (ซึ่งจะใช้กับอาร์กิวเมนต์บรรทัดคำสั่งด้วย)
นี่คือการแสดงภาพของ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
เนื่องจากนี่คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ
กรณีทดสอบ ( ทำด้วยตนเองโปรดแจ้งให้ฉันทราบถึงข้อผิดพลาด ):
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)
avg(1,2)
สำหรับ "edge cases" (ฮ่า) คุณไม่ควรเฉลี่ยเท่ากับองค์ประกอบของรายการอินพุต
m_i
เป็นบวก