คุณอาจคุ้นเคยกับลำดับฟีโบนักชีที่สองคำแรกเป็น0, 1
(หรือบางครั้ง1, 1
) และทุกคำหลังจากนั้นคือผลรวมของสองคำก่อนหน้า มันเริ่มเป็นแบบนี้:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
บางครั้งลำดับมีตัวเลขที่มีรูปแบบเฉพาะที่ฉันสนใจ: ความแตกต่างระหว่างคู่ของตัวเลขใด ๆ ที่อยู่ติดกันเหมือนกันกับคู่อื่น ๆ ยกตัวอย่างเช่นในลำดับที่เริ่มต้นด้วย0, 1
คำที่ 18 987
คือ และ9-8=1
8-7=1
ฉันพอใจอย่างอ่อนโยน
ท้าทาย
ให้สองค่าเริ่มต้นF(0)
และF(1)
ส่งออกทุกตัวเลขในลำดับที่สร้างโดยF(n) = F(n-1) + F(n-2)
ที่ตรงกับเกณฑ์ต่อไปนี้:
- ความแตกต่างระหว่างคู่ของตัวเลขใด ๆ ที่อยู่ติดกันจะเหมือนกับคู่อื่น ๆ
- มีความยาวอย่างน้อยสามหลัก (ตัวเลข 1 และ 2 หลักไม่น่าสนใจสำหรับรูปแบบนี้)
อินพุต
- จำนวนเต็มสองจำนวนที่ไม่เป็นลบน้อยกว่า 10 ** 10 (10,000 ล้าน)
เอาท์พุต
- จำนวนเต็มทั้งหมดที่น้อยกว่า 10 ** 10 และตรงตามเกณฑ์ในส่วนความท้าทาย
- เป็นที่ยอมรับได้สำหรับเอาต์พุตหลักที่มากกว่า 10 ** 10 แต่ไม่เป็นข้อกำหนด
- เนื่องจากตัวเลขที่ซ้ำกันเป็นไปตามรูปแบบ (เช่น
777
) เป็นไปได้ว่ามีจำนวนอนันต์ที่ตรงกับเกณฑ์ แต่โปรแกรมของคุณไม่จำเป็นต้องส่งออกไปตลอดกาล - หากไม่มีจำนวนเต็มเช่นนี้ให้เอาท์พุทสิ่งที่คุณต้องการตราบใดที่มันไม่ใช่ตัวเลข (ไม่มีอะไรว่างเปล่าอาเรย์ที่ว่างเปล่าข้อความแสดงข้อผิดพลาดหน้าเศร้า ฯลฯ )
- หากตัวเลขที่ตรงกับรูปแบบปรากฏขึ้นมากกว่าหนึ่งครั้งในลำดับคุณสามารถส่งออกครั้งเดียวหรือหลายครั้งตามที่เกิดขึ้น
- หากอินพุตใด ๆ ตรงตามเกณฑ์ก็ควรรวมอยู่ในเอาต์พุต
กฎระเบียบ
- อินพุตและเอาต์พุตสามารถอยู่ในรูปแบบมาตรฐานใด ๆ
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือcode-golfดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์จะชนะ
ตัวอย่าง / กรณีทดสอบ
Input , Output
[1,10] , []
[0,1] , [987]
[2,1] , [123]
[2,3] , [987]
[61,86] , [147]
[75,90] , [420]
[34,74] , [1234]
[59,81] , [2468]
[84,85] , [7531]
[19,46] , [111]
[60,81] , [222]
[41,42] , [333]
[13,81] , [444]
[31,50] , [555]
[15,42] , [666]
[94,99] , [777]
[72,66] , [888]
[3189,826] , [888888888]
[15,3] , [159,258]
[22,51] , [321,1357]
[74,85] , [159,4444]
[27,31] , [147,11111]
[123,0] , [123,123,123,246,369]
[111,0] , [111,111,111,222,333,555,888]
[111,222] , [111,222,333,555,888]
[33345,692] , [987654321]
[3894621507,5981921703] , [9876543210]
[765432099,111111111] , [111111111,876543210,987654321]
[1976,123] , [123, 2222, 4321, 6543, 45678]
[1976, 123] -> [123, 2222, 4321, 6543, 45678]
,[3189, 826] -> [888888888]
,[33345, 692] -> [987654321]