所述无限斐波纳契字是一个特定的二进制数字,其通过有限二进制字重复级联计算无限序列。
让我们定义一个斐波那契型字序列(或FTW序列)是任何序列 ⟨W Ñ ⟩其如下形成。
开始使用两个任意的二进制数字数组。让我们将这些数组称为W -1和W 0。
对于每个N> 0,让W¯¯ Ñ ≔w ^ n-1个 ∥w ^ N-2 ,其中∥表示级联。
递归定义的一个后果是,w ^ Ñ总是的前缀w ^ n + 1个,因此,所有的w ^ ķ使得K>Ñ。在某种意义上,这意味着序列⟨W Ñ ⟩收敛到一个无限的字。
形式上,让W¯¯ ∞是唯一的无限阵列使得W¯¯ Ñ是的前缀W¯¯ ∞所有Ñ≥0 。
我们将由上述过程形成的任何无限词称为无限FTW。
任务
写接受两个二进制字的程序或函数w ^ -1和w ^ 0作为输入,并打印W¯¯ ∞,由下面的,额外的,遵守规则:
您可以按任何顺序接受这些词;作为两个数组,一个数组数组,两个字符串,一个字符串数组或一个带有您选择的定界符的单个字符串。
您可以在每对相邻数字之间不使用分隔符或使用一致的分隔符来打印无限单词的数字。
出于所有目的,假定您的代码将永远不会耗尽内存,并且其数据类型不会溢出。
特别是,这意味着由于崩溃而导致的任何STDOUT或STDERR输出都将被忽略。
如果我在我的机器上运行的代码(英特尔i7-3770,16吉布RAM,Fedora的21),一分钟和管道的输出
wc -c
,它必须打印至少100万位w ^ ∞为(W -1,W 0) =(1,0)。适用标准代码高尔夫球规则。
例
令W -1 = 1且W 0 = 0。
然后w ^ 1 = 01,w ^ 2 = 010,w ^ 3 = 01001,w ^ 4 = 01001010 ...和w ^ ∞ = 010010100100101001010 ...。
这是在无限的斐波那契字。
测试用例
所有测试用例都包含无限FTW的前1,000个数字。
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