คำฟิโบน่าชีไม่มีที่สิ้นสุดเป็นลำดับที่ไม่สิ้นสุดของเลขฐานสองซึ่งคำนวณโดยการต่อคำซ้ำของคำไบนารี จำกัด
ให้เรากำหนดว่าลำดับคำ Fibonacci ประเภท (หรือลำดับ FTW ) เป็นลำดับใด ๆ ⟨W n ⟩ที่เกิดขึ้นดังต่อไปนี้
เริ่มต้นด้วยสองอาร์เรย์ของเลขฐานสองโดยอำเภอใจ ขอให้เราโทรอาร์เรย์เหล่านี้W -1และW 0
สำหรับแต่ละn> 0ให้W n ≔ W n-1 ∥ W n-2โดยที่∥หมายถึงการต่อกัน
เป็นผลมาจากความหมายก็คือว่า recursive W nอยู่เสมอเป็นคำนำหน้าของW 1 + nและดังนั้นทุกW kดังกล่าวว่าk> n ในความหมายนี่หมายถึงลำดับ⟨W n ⟩แปรเปลี่ยนเป็นคำที่ไม่สิ้นสุด
เป็นทางการให้W ∞เป็นอาเรย์ที่ไม่มีที่สิ้นสุดเท่านั้นซึ่งW nเป็นคำนำหน้าของW ∞สำหรับn n 0ทั้งหมด
เราจะเรียกคำอนันต์ใด ๆ ที่เกิดขึ้นจากกระบวนการข้างต้นอนันต์ FTW
งาน
เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับคำฐานสองคำW -1และW 0เป็นอินพุตและพิมพ์W ∞โดยปฏิบัติตามกฎเพิ่มเติมต่อไปนี้:
คุณอาจยอมรับคำพูดในลำดับใด ๆ เป็นสองอาร์เรย์อาร์เรย์ของอาร์เรย์สองสตริงอาร์เรย์ของสตริงหรือสตริงเดี่ยวที่มีตัวคั่นที่คุณเลือก
คุณสามารถพิมพ์ตัวเลขของคำที่ไม่มีที่สิ้นสุดทั้งที่ไม่มีตัวคั่นหรือด้วยตัวคั่นที่สอดคล้องกันระหว่างแต่ละคู่ของตัวเลขที่อยู่ติดกัน
สำหรับวัตถุประสงค์ทั้งหมดสมมติว่ารหัสของคุณจะไม่มีหน่วยความจำไม่เพียงพอและประเภทข้อมูลนั้นไม่ล้น
โดยเฉพาะนี่หมายความว่าเอาต์พุตใด ๆ ไปยัง STDOUT หรือ STDERR ที่เป็นผลลัพธ์ของความล้มเหลวจะถูกละเว้น
ถ้าฉันเรียกใช้รหัสของคุณบนเครื่องของฉัน (Intel i7-3770, 16 GiB RAM, Fedora 21) เป็นเวลาหนึ่งนาทีและไพพ์เอาท์พุท
wc -c
มันจะต้องพิมพ์อย่างน้อยหนึ่งล้านหลักของW ∞สำหรับ(W -1 , W 0 ) = (1, 0)ใช้กฎมาตรฐานของกอล์ฟ
ตัวอย่าง
Let W -1 = 1และW 0 = 0
จากนั้นW 1 = 01 , W 2 = 010 , W 3 = 01001 , W 4 = 01001010 ... และW ∞ = 010010100100101001010 … .
นี่คือคำที่ไม่สิ้นสุด Fibonacci
กรณีทดสอบ
กรณีทดสอบทั้งหมดมี 1,000 หลักแรกของ FTW ที่ไม่มีที่สิ้นสุด
Input: 1 0
Output: 0100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001
Input: 0 01
Output: 0100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001
Input: 11 000
Output: 0001100000011000110000001100000011000110000001100011000000110000001100011000000110000001100011000000110001100000011000000110001100000011000110000001100000011000110000001100000011000110000001100011000000110000001100011000000110000001100011000000110001100000011000000110001100000011000110000001100000011000110000001100000011000110000001100011000000110000001100011000000110001100000011000000110001100000011000000110001100000011000110000001100000011000110000001100000011000110000001100011000000110000001100011000000110001100000011000000110001100000011000000110001100000011000110000001100000011000110000001100000011000110000001100011000000110000001100011000000110001100000011000000110001100000011000000110001100000011000110000001100000011000110000001100011000000110000001100011000000110000001100011000000110001100000011000000110001100000011000000110001100000011000110000001100000011000110000001100011000000110000001100011000000110000001100011000000110001100000011000000110001100000011000110000001100000011
Input: 10 010
Output: 0101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001001010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010010100101001001010010100100101001001010010100100101001010010010100100101001010010010100100101001010010010100101001001010010010100101001001010010100100101001001010
Input: 101 110
Output: 1101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101101011101011101101011101101011101011101101011101011101101011101