Ada pertanyaan terkenal di sini yang meminta generator urutan fibonacci pendek (paling tidak karakter).
Saya ingin tahu apakah seseorang dapat menghasilkan elemen N pertama saja, dari urutan fibonacci, dalam ruang yang sangat singkat. Saya mencoba melakukannya dengan python, tetapi saya tertarik dengan jawaban singkat, dalam bahasa apa pun. Fungsi F (N) menghasilkan elemen N pertama dari urutan, baik mengembalikannya sebagai pengembalian fungsi atau mencetaknya.
Menariknya tampaknya jawaban kode-golf dimulai dengan 1 1 2
, alih-alih 0 1 1 2
. Apakah itu konvensi dalam kode-golf atau pemrograman-secara umum? (Wikipedia mengatakan urutan fibonacci dimulai dengan nol.).
Contoh Python (5 Elemen Pertama):
def f(i,j,n):
if n>0:
print i;
f(j,i+j,n-1)
f(1,1,5)
F_0 = 0, F_1 = 1
atau setara F_1 = 1, F_2 = 1
. Perbedaannya adalah apakah Anda ingin memulai urutan pada indeks 0 (lebih umum dalam pemrograman) atau 1 (lebih umum dalam matematika).
F_0 = 0, F_1 = 1
memiliki manfaat yang pasti dalam kesederhanaan dengan representasi matriks [[1 1][1 0]]^n = [[F_{n+1} F_n][F_n F_{n-1}]]
.