เราทุกคนคุ้นเคยกับการที่มีชื่อเสียงลำดับฟีโบนักชีที่เริ่มต้นด้วย0และ1และแต่ละองค์ประกอบคือผลรวมของก่อนหน้านี้สองที่ ต่อไปนี้เป็นคำศัพท์สองสามคำแรก (OEIS A000045 ):
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584
รับจำนวนเต็มบวกคืนจำนวนใกล้เคียงที่สุดของลำดับ Fibonacci ภายใต้กฎเหล่านี้:
จำนวนฟีโบนักชีที่อยู่ใกล้จะถูกกำหนดเป็นจำนวนฟีโบนักชีมีความแตกต่างแน่นอนที่เล็กที่สุดที่มีจำนวนเต็มกำหนด ยกตัวอย่างเช่น
34เป็นจำนวนฟีโบนักชีที่อยู่ใกล้30เพราะ|34 - 30| = 4ซึ่งมีขนาดเล็กกว่าที่ใกล้เคียงที่สุดที่สองซึ่ง21|21 - 30| = 9หากจำนวนเต็มที่กำหนดเป็นของลำดับ Fibonacci จำนวน Fibonacci ที่ใกล้เคียงที่สุดคือตัวของมันเอง ยกตัวอย่างเช่นจำนวนฟีโบนักชีที่อยู่ใกล้ตรง
1313ในกรณีที่มีการผูกคุณอาจเลือกที่จะส่งออกหนึ่งในหมายเลขฟีโบนักชีที่อยู่ใกล้กับอินพุทหรือเอาท์พุทพวกเขาทั้งสอง ตัวอย่างเช่นถ้าใส่เป็น
17ทั้งหมดต่อไปนี้จะถูกต้อง:21, หรือ1321, 13ในกรณีที่คุณส่งคืนทั้งสองโปรดระบุรูปแบบ
มีการใช้ช่องโหว่เริ่มต้น คุณสามารถใช้การป้อนข้อมูลและจัดให้มีการส่งออกผ่านวิธีการมาตรฐานใด ๆ โปรแกรมของคุณ / ฟังก์ชั่นจะต้องจัดการกับค่าถึง 10 8
กรณีทดสอบ
อินพุต -> เอาท์พุท 1 -> 1 3 -> 3 4 -> 3 หรือ 5 หรือ 3, 5 6 -> 5 7 -> 8 11 -> 13 17 -> 13 หรือ 21 หรือ 13, 21 63 -> 55 101 -> 89 377 -> 377 467 -> 377 500 -> 610 1399 -> 1597
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ในทุกภาษาชนะ!
nn ≥ 1หมายถึง