Arka fon
Çoğu kişi Fibonacci sayılarına aşinadır F(n):
0, 1, 1, 2, 3, 5, 8, 13, 21 ...
Bu yineleme fonksiyonu tarafından oluşturulmaktadır F(n) = F(n-1) + F(n-2)ile F(0)=0ve F(1)=1. A000045
Yakın ilişkili bir dizi Lucas sayılarıdır L(m) :
2, 1, 3, 4, 7, 11, 18, 29 ...
Bu yineleme fonksiyonu tarafından oluşturulmaktadır L(m) = L(m-1) + L(m-2)ile L(0)=2ve L(1)=1. A000032
Eğer çift veya tek endekslere dayalı iki dizi arasında,
A(x) = F(x)eğer x mod 2 = 0ve A(x) = L(x)aksi takdirde yapı ile dönüşüm yapabiliriz . Örneğin, A(4)o F(4)zamandan beri eşittir 4 mod 2 = 0. Bu diziyi arayacağım Lucas-nacci Sayılar , A(x):
0, 1, 1, 4, 3, 11, 8, 29, 21, 76 ...
Bu yineleme fonksiyonu ile oluşturulabilir A(x) = 3*A(x-2) - A(x-4)ile A(0)=0, A(1)=1, A(2)=1ve A(3)=4. A005013
Meydan okuma
Giriş verildiğinde n, yukarıda açıklandığı gibi n+1dahil olmak üzere sayı dizisini A(n)çıktılayın. En az bayt (veya Meta üzerinde ayrı ayrı belirlenen LabVIEW gibi bayt eşdeğerleri ) kazanır.
Giriş
Tek bir negatif olmayan tam sayı n.
Çıktı
Numaraların listesi bundan Lucas-nacci sayıların alt diziyle tekabül A(0)etmek A(n). Liste, yukarıda açıklandığı gibi sıralı bir sırada olmalıdır.
kurallar
- Standart kod golf kuralları ve kaçamak kısıtlamaları geçerlidir.
- Standart giriş / çıkış kuralları geçerlidir.
- Giriş numarası herhangi bir uygun biçimde olabilir: tek veya ondalık, STDIN'den okuma, işlev veya komut satırı bağımsız değişkeni vb. - seçiminiz.
- Çıktı STDOUT'a yazdırılabilir veya işlev çağrısının bir sonucu olarak döndürülebilir. Basılıysa, sayıları ayırt etmek için uygun sınırlayıcılar dahil edilmelidir (boşlukla ayrılmış, virgülle ayrılmış vb.).
- Buna ek olarak, STDOUT çıktısı, çevredeki beyaz alan, son satır sonu vb. İsteğe bağlıdır.
- Girdi tamsayı veya negatif bir tamsayı ise, davranış tanımlanmadığı için program herhangi bir şey yapabilir veya hiçbir şey yapamaz.
Örnekler
Input -> Output
0 -> 0
5 -> 0, 1, 1, 4, 3, 11
18 -> 0, 1, 1, 4, 3, 11, 8, 29, 21, 76, 55, 199, 144, 521, 377, 1364, 987, 3571, 2584