ลองนิยามf n (k)เป็นผลรวมของเงื่อนไขkแรกของตัวเลขธรรมชาติ[1, ∞)โดยที่แต่ละตัวเลขซ้ำnครั้ง
k | 0 1 2 3 4 5 6 7 8 9
--------+-------------------------------------------------
f_1(k) | 0 1 3 6 10 15 21 28 36 45
deltas | +1 +2 +3 +4 +5 +6 +7 +8 +9
--------+-------------------------------------------------
f_2(k) | 0 1 2 4 6 9 12 16 20 25
deltas | +1 +1 +2 +2 +3 +3 +4 +4 +5
--------+-------------------------------------------------
f_3(k) | 0 1 2 3 5 7 9 12 15 18
deltas | +1 +1 +1 +2 +2 +2 +3 +3 +3
ป้องกันเส้นทแยงมุมนี้เป็นตารางอาร์เรย์จะคล้ายกับOEIS ลำดับ A134546
ท้าทาย
เขียนโปรแกรม / ฟังก์ชั่นที่ใช้เวลาสอง integers เชิงลบ n และ kและผลฉn (k)
ข้อมูลจำเพาะ
- กฎระเบียบมาตรฐาน I / O ใช้
- ช่องโหว่มาตรฐานจะต้องห้าม
- โซลูชันของคุณอาจเป็นดัชนี 0 หรือดัชนี 1 ดัชนีสำหรับ n และ / หรือ kแต่โปรดระบุว่า
- ความท้าทายนี้ไม่ได้เกี่ยวกับการหาวิธีการที่สั้นที่สุดในทุกภาษาค่อนข้างมันเป็นเรื่องเกี่ยวกับการหาวิธีการที่สั้นที่สุดในแต่ละภาษา
- รหัสของคุณจะได้รับคะแนนเป็นไบต์มักจะอยู่ในการเข้ารหัส UTF-8 เว้นแต่จะระบุไว้เป็นอย่างอื่น
- ฟังก์ชันในตัวที่คำนวณลำดับนี้ได้รับอนุญาตแต่รวมถึงการแก้ปัญหาที่ไม่ต้องพึ่งพาในตัว
- คำอธิบายแม้สำหรับภาษา "ปฏิบัติ" จะได้รับการสนับสนุน
กรณีทดสอบ
ในกรณีทดสอบเหล่านี้nคือ 1 ดัชนีและkเป็น 0 ดัชนี
n k fn(k)
1 2 3
2 11 36
11 14 17
14 21 28
21 24 27
24 31 38
31 0 0
ในรูปแบบที่ดีขึ้นไม่กี่:
1 2
2 11
11 14
14 21
21 24
24 31
31 0
1, 2
2, 11
11, 14
14, 21
21, 24
24, 31
31, 0
การดำเนินการอ้างอิง
f n k = sum $ take k $ replicate n =<< [1..]
f_n(0) = 0
สำหรับk
ดัชนี 0 หรือไม่?
k
เทอมแรกจากรายการตัวเลขธรรมชาติซ้ำ ๆ ไม่ใช่n*k
เทอมแรก