บทนำ (อาจถูกละเว้น)
การใส่ตัวเลขบวกทั้งหมดในลำดับปกติ (1, 2, 3, ... ) นั้นน่าเบื่อนิดหน่อยใช่ไหม? ดังนั้นนี่คือชุดของความท้าทายรอบพีชคณิต (reshuffelings) ของจำนวนบวกทั้งหมด นี่คือความท้าทายที่ห้าในชุดนี้ (เชื่อมโยงไปครั้งแรก , สอง , สามและสี่ความท้าทาย)
ในการท้าทายนี้เราจะได้พบกับอาร์เรย์ Wythoff ซึ่งเป็นหิมะถล่มที่ผสมผสานระหว่างFibonacci และ Beatty sequences!
ตัวเลข Fibonacciอาจจะเป็นส่วนใหญ่ของคุณลำดับที่รู้จักกันดี ได้รับตัวเลขสองเริ่มต้นและต่อไปนี้จะได้รับโดย: สำหรับ 2
ลำดับเบ็ตตี้ได้รับพารามิเตอร์คือสำหรับ 1 หนึ่งในคุณสมบัติของลำดับเบ็ตตี้คือสำหรับพารามิเตอร์ทุกตัวมีพารามิเตอร์หนึ่งตัวคือเช่นนั้นลำดับเบ็ตตี้สำหรับพารามิเตอร์เหล่านั้นจะแยกกันและรวมเข้าด้วยกัน 0 (เช่น: )
ตอนนี้ที่นี่มาพร้อมส่วนจิตใจที่ลื่นไหล: คุณสามารถสร้างอาร์เรย์ที่แต่ละแถวเป็นลำดับฟีโบนักชีและแต่ละคอลัมน์เป็นลำดับเบ็ตตี้ อาร์เรย์นี้เป็นอาร์เรย์ Wythoff ส่วนที่ดีที่สุดคือ: ทุกจำนวนบวกจะปรากฏขึ้นหนึ่งครั้งในอาเรย์นี้! อาร์เรย์มีลักษณะดังนี้:
1 2 3 5 8 13 21 34 55 89 144 ...
4 7 11 18 29 47 76 123 199 322 521 ...
6 10 16 26 42 68 110 178 288 466 754 ...
9 15 24 39 63 102 165 267 432 699 1131 ...
12 20 32 52 84 136 220 356 576 932 1508 ...
14 23 37 60 97 157 254 411 665 1076 1741 ...
17 28 45 73 118 191 309 500 809 1309 2118 ...
19 31 50 81 131 212 343 555 898 1453 2351 ...
22 36 58 94 152 246 398 644 1042 1686 2728 ...
25 41 66 107 173 280 453 733 1186 1919 3105 ...
27 44 71 115 186 301 487 788 1275 2063 3338 ...
...
องค์ประกอบที่แถวและคอลัมน์ถูกกำหนดเป็น:
โดยที่คืออัตราส่วนทองคำ: .
ถ้าเราทำตามการต่อต้านแนวทแยงมุมของอาเรย์นี้เราจะได้A035513ซึ่งเป็นลำดับเป้าหมายสำหรับความท้าทายนี้ (โปรดสังเกตว่าลำดับนี้จะถูกเพิ่มเข้าไปใน OEIS โดยNeil Sloaneด้วยตัวเอง!) ตั้งแต่นี้เป็น "ลำดับบริสุทธิ์" ความท้าทายของงานคือการส่งออก( n )สำหรับให้nเป็น input ที่( n )เป็นA035513
มีกลยุทธ์ที่แตกต่างกันคุณสามารถปฏิบัติตามเพื่อไปซึ่งทำให้ความท้าทายนี้ (ในความคิดของฉัน) น่าสนใจจริงๆ
งาน
ได้รับการป้อนข้อมูลจำนวนเต็มผลผลิต( n )ในรูปแบบจำนวนเต็มที่( n )เป็นA035513 A035513
หมายเหตุ: การจัดทำดัชนีแบบ 1 จะถือว่าที่นี่; คุณอาจใช้การจัดทำดัชนีดังนั้นa ( 0 ) = 1 ; a ( 1 ) = 2ฯลฯ โปรดพูดถึงสิ่งนี้ในคำตอบของคุณหากคุณเลือกที่จะใช้
กรณีทดสอบ
Input | Output
---------------
1 | 1
5 | 7
20 | 20
50 | 136
78 | 30
123 | 3194
1234 | 8212236486
3000 | 814
9999 | 108240
29890 | 637
มันอาจจะเป็นความสนุกสนานที่จะรู้ว่าที่ใหญ่ที่สุด( n )สำหรับ1 ≤ n ≤ 32767เป็น( 32,642 ) = 512653048485188394162163283930413917147479973138989971 = F ( 256 ) ⌊ 2 ไว⌋ + F ( 255 )
กฎระเบียบ
- อินพุตและเอาต์พุตเป็นจำนวนเต็ม
- ไปถึง 30 หมายเลขหลักในช่วงนี้ ...
- อินพุตไม่ถูกต้อง (0, ลอย, สตริง, ค่าลบ, ฯลฯ ) อาจนำไปสู่ผลลัพธ์ที่ไม่ได้คาดการณ์ไว้, ข้อผิดพลาดหรือ (un) พฤติกรรมที่กำหนดไว้
- ใช้กฎ I / Oเริ่มต้น
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
999ไม่ใช่9999