無限フィボナッチ列は、特定の有限バイナリワードの繰り返し連結することによって計算される二進数の無限配列です。
私たちは、その定義できフィボナッチ型単語列(又はFTW配列が)任意の配列である ⟨W N ⟩次のように形成されています。
2桁の2つの任意の配列の開始。これらの配列をW -1およびW 0と呼びましょう。
それぞれについてN> 0、ましょうW N ≔W N-1 ∥W N-2 、∥は連結を意味します。
再帰的な定義の結果、W nは常にW n + 1のプレフィックスであり、したがってすべてのW k k> nとなるような。意味で、この手段配列⟨W N ⟩無限ワードに収束します。
正式に、聞かせてWが∞ようにのみ無限アレイでWがNの接頭辞であるW ∞すべてのためのn≥0 。
上記のプロセスで形成された無限の単語を無限FTWと呼びます。
仕事
2つのバイナリワード受け入れプログラムまたは機能書き込みW -1及びW 0を入力とし、印刷W ∞を以下、追加のルールを遵守し、:
任意の順序で単語を受け入れることができます。2つの配列、配列の配列、2つの文字列、文字列の配列、または選択した区切り文字を持つ単一の文字列として。
区切り文字なしで、または隣接する数字の各ペア間に一貫した区切り文字を使用して、無限ワードの数字を印刷できます。
すべての目的で、コードがメモリ不足にならず、そのデータ型がオーバーフローしないと仮定します。
特に、これは、クラッシュの結果であるSTDOUTまたはSTDERRへの出力が無視されることを意味します。
1分とパイプに、その出力のため、私は私のマシン上でコードを実行した場合(インテルi7-3770、16ジブRAM、Fedoraの21)
wc -c
、それは、少なくとも百万数字を印刷する必要があり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