The Kata Fibonacci tak terbatas adalah tertentu, urutan yang tak terbatas digit biner, yang dihitung dengan Rangkaian diulang kata-kata biner yang terbatas.
Mari kita mendefinisikan bahwa kata Fibonacci-jenis urutan (atau FTW urutan ) adalah setiap urutan ⟨W n ⟩ yang terbentuk sebagai berikut.
Mulai dengan dua array acak angka biner. Mari kita panggil array ini W -1 dan W 0 .
Untuk setiap n> 0 , misalkan W n ≔ W n-1 ∥ W n-2 , di mana ∥ menunjukkan penggabungan.
Konsekuensi dari definisi rekursif adalah bahwa W n selalu awalan W n + 1 dan, karena itu, semua W k sehingga k> n . Dalam arti, ini berarti urutan ⟨W n ⟩ konvergen untuk kata yang tak terbatas.
Secara formal, misalkan W ∞ menjadi satu-satunya susunan tak hingga sehingga W n adalah awalan W ∞ untuk semua n ≥ 0 .
Kami akan menyebut kata tak terbatas yang dibentuk oleh proses di atas sebagai FTW tak terbatas .
Tugas
Tulis sebuah program atau fungsi yang menerima dua kata biner W -1 dan W 0 sebagai input dan mencetak W ∞ , mematuhi aturan berikut, tambahan, berikut:
Anda dapat menerima kata-kata dalam urutan apa pun; sebagai dua array, array array, dua string, sebuah array string, atau string tunggal dengan pembatas pilihan Anda.
Anda dapat mencetak digit kata tak terbatas baik tanpa pembatas atau dengan pembatas yang konsisten antara setiap pasangan digit yang berdekatan.
Untuk semua tujuan, asumsikan kode Anda tidak akan pernah kehabisan memori, dan bahwa tipe datanya tidak meluap.
Secara khusus, ini berarti bahwa setiap output ke STDOUT atau STDERR yang merupakan hasil dari crash akan diabaikan.
Jika saya menjalankan kode Anda di komputer saya (Intel i7-3770, 16 GiB RAM, Fedora 21) selama satu menit dan mengirimkan hasilnya
wc -c
, harus mencetak setidaknya satu juta digit W dig untuk (W -1 , W 0 ) = (1, 0) .Aturan standar kode-golf berlaku.
Contoh
Misalkan W -1 = 1 dan W 0 = 0 .
Kemudian W 1 = 01 , W 2 = 010 , W 3 = 01001 , W 4 = 01001010 … dan W ∞ = 010010100100101001010… .
Ini adalah yang kata Fibonacci tak terbatas.
Uji kasus
Semua kasus uji berisi 1.000 digit pertama FTW tak terbatas.
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