Sonsuz Fibonacci kelime spesifik, sınırlı bir ikili tekrarlanan kelimeler birleştirme ile hesaplanmıştır ikili rakamlar, sonsuz dizisidir.
Bize bu tanımlayalım Fibonacci tipi kelime dizisi (veya FTW sekansı ) herhangi bir dizisidir ⟨W n ⟩ aşağıdaki şekilde oluşturulur.
İkili basamaktan oluşan iki rasgele diziyle başlayın. Bu dizilere W -1 ve W 0 diyelim .
Her n> 0 için , W n W n-1 ∥ W n-2 olsun , burada aten birleştirme anlamına gelir.
Yinelemeli tanımının bir sonucu olduğunu W , n , her zaman bir önek olan W , n + 1 ve bu nedenle, her bir W, k , öyle ki , n> k . Bir anlamda, bu araçlar dizisi ⟨W n ⟩ sonsuz kelime yakınsamaktadır.
Biçimsel olarak, izin W ∞ bu şekilde sadece sonsuz dizidir W , n bir önek olan W ∞ tüm n ≥ 0 .
Yukarıdaki süreç tarafından oluşturulan sonsuz kelimeyi sonsuz FTW olarak adlandırırız .
Görev
İki ikili kelime kabul eden bir program ya da işlev Yazın B -1 ve W, 0 giriş ve baskılar gibi B ∞ sonra ilave kuralına göre uyan:
Kelimeleri herhangi bir sırayla kabul edebilirsiniz; iki dizi, bir dizi, iki dizi, bir dizi veya tercih ettiğiniz sınırlayıcıya sahip bir dizi.
Sınırsız sözcüğün basamaklarını, sınırlayıcı olmadan veya bitişik basamakların her biri arasında tutarlı bir sınırlayıcıyla yazdırabilirsiniz.
Tüm amaçlar için, kodunuzun hiçbir zaman belleğinin tükenmeyeceğini ve veri türlerinin taşmadığını varsayalım.
Özellikle bu, bir çarpma sonucu olan STDOUT veya STDERR'ye yapılan herhangi bir çıkışın göz ardı edileceği anlamına gelir.
Kodunuzu makinemde (Intel i7-3770, 16 GiB RAM, Fedora 21) bir dakika çalıştırıp çıkışını boruya yazdıysam,
wc -c
en az bir milyon hanelik W ∞ (W -1 , W 0 ) basmalıdır . = (1, 0) .Standart kod-golf kuralları geçerlidir.
Örnek
Let W -1 = 1 ve W, 0 = 0 .
Sonra W 1 = 01 , W 2 = 010 , W, 3 = 01.001 , W 4 = 01001010 ... ve W ∞ = 010010100100101001010 ... .
Bu sonsuz Fibonacci sözcüğü.
Test durumları
Tüm test durumları sonsuz FTW'nin ilk 1000 basamağını içerir.
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