ลำดับของRecamánถูกกำหนดดังนี้:
หรือในรหัสหลอก:
a(0) = 0,
if (a(n - 1) - n) > 0 and it is not
already included in the sequence,
a(n) = a(n - 1) - n
else
a(n) = a(n - 1) + n.
ตัวเลขแรกคือ ( OEIS A005132 ):
0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24, 8, 25, 43, 62, 42, 63, 41, 18, 42
หากคุณศึกษาลำดับนี้คุณจะสังเกตเห็นว่ามีรายการที่ซ้ำกันเช่นa(20) = a(24) = 42
(ดัชนี 0) เราจะโทรหาหมายเลขที่ซ้ำกันหากมีหมายเลขที่เหมือนกันอย่างน้อยหนึ่งหมายเลขต่อหน้าหมายเลขนั้น
ท้าทาย:
ใช้การป้อนข้อมูลจำนวนเต็มkและเอาท์พุททั้งสองคนแรกที่kตัวเลขที่ซ้ำกันในลำดับที่พวกเขาจะพบว่าเป็นที่ซ้ำกันในลำดับRecamánหรือเพียงk 'จำนวนวัน
หมายเลขที่ซ้ำกันครั้งแรกนี้คือ:
42, 43, 78, 79, 153, 154, 155, 156, 157, 152, 265, 261, 262, 135, 136, 269, 453, 454, 257, 258, 259, 260, 261, 262
สิ่งที่ควรทราบ:
- A (n)ไม่นับว่าซ้ำกันถ้าไม่มีตัวเลขที่เหมือนกันในA (0) ... A (n-1)แม้ว่าA (n + m) == A (n)
- 42 จะอยู่ก่อน 43 เนื่องจากมีการทำสำเนาเกิดขึ้นก่อนที่จะซ้ำซ้อน 43
- ไม่เรียงลำดับ
- มีองค์ประกอบที่ซ้ำกันในลำดับนี้ด้วย ตัวอย่างเช่นตัวเลขที่ 12 และ 23 เป็นทั้ง262 (ดัชนี 0)
กรณีทดสอบ (ดัชนี 0)
k Output
0 42
9 152
12 262
23 262
944 5197
945 10023
10000 62114
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในแต่ละภาษาชนะ!
คำอธิบายได้รับการสนับสนุน!
43
เอาท์พุทก่อน42
? มันจะปรากฏขึ้นครั้งแรกในลำดับของRecamán คุณหมายถึงผลลัพธ์ก่อนเป็นสิ่งแรกที่พบว่าซ้ำกันหรือไม่