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)=0
ve 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)=2
ve L(1)=1
. A000032
Eğer çift veya tek endekslere dayalı iki dizi arasında,
A(x) = F(x)
eğer x mod 2 = 0
ve 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)=1
ve A(3)=4
. A005013
Meydan okuma
Giriş verildiğinde n
, yukarıda açıklandığı gibi n+1
dahil 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