Fibonacci Dizisi Hesaplayıcı

İstediğiniz sayıda Fibonacci terimini listeleyin veya doğrudan belirli bir terime gidin — keyfi hassasiyetli aritmetikle tam sayılar.

1.022 görüntülenme

Dizi

Fibonacci Dizisi Nasıl Hesaplanır?

Fibonacci dizisi tek bir yineleme kuralıyla tanımlanır: F(0) = 0, F(1) = 1 ve sonraki her terim kendinden önceki iki terimin toplamıdır, F(n) = F(n-1) + F(n-2). Bu tek kural 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89… dizisini üretir — her sayı son iki sayının toplamıdır, bu yüzden ilk düzine terimi elle doğrulamak oldukça kolaydır.

Asıl şaşırtıcı olan, sayıların ne kadar hızlı büyüdüğüdür. F(30) değeri 800.000'i çoktan geçer; F(100) ise 21 basamaklı bir sayıdır. Çoğu hesap makinesinin ve düz JavaScript sayılarının kullandığı standart 64-bit sayı tipleri, bir tamsayı yaklaşık 9 × 10^15'i geçtiğinde (bu da yaklaşık F(78) civarına denk gelir) sessizce hassasiyet kaybeder. Bu noktadan sonra sıradan bir hesap makinesi hiçbir uyarı vermeden yuvarlanmış, hafifçe yanlış bir sonuç gösterir. Bu araç, her terimi BigInt aritmetiğiyle hesaplayarak bu sorunu tamamen ortadan kaldırır; BigInt, n ne kadar büyük olursa olsun keyfi büyüklükteki tamsayıları basamak basamak tam olarak temsil eder — böylece F(100), F(500), hatta F(1000) bile son basamağına kadar doğru çıkar.

İkinci bilinen özellik ise altın oran bağlantısıdır: n büyüdükçe ardışık terimlerin oranı F(n)/F(n-1), φ ≈ 1,6180339887… değerine, yani düzgün beşgenin oranlarında da karşımıza çıkan ve Fibonacci sayılarını yinelemesiz doğrudan hesaplayan Binet formülünde de yer alan aynı sabite yakınsar. İlk terimler bu değeri kabaca yaklaşık verir (3/2 = 1,5; 8/5 = 1,6), ama yaklaşık 15. terimde oran zaten dört ondalık basamağa kadar doğrudur.

Bilinmesi Gerekenler

  • İndeksleme kuralı. Bazı kaynaklar diziye F(0) = 0 yerine F(1) = F(2) = 1 ile başlar. Bu araç, çoğu ders kitabının ve bilgisayar bilimi dersinin kullandığı standart matematiksel kuralı, F(0) = 0 ve F(1) = 1'i izler.
  • Büyüme hızı. Her terim kendinden öncekinin yaklaşık 1,618 katıdır, bu yüzden basamak sayısı n ile doğrusal olarak artar — F(1000) 200'den fazla basamağa sahiptir; tam olarak kayan noktalı hesap makinelerinin çöktüğü ve BigInt'in gerekli olduğu değer aralığıdır bu.
  • Yaygın tuzak. Büyük bir Fibonacci değerini standart kayan noktalı sayılar kullanan bir e-tablodan veya hesap makinesinden (düz JavaScript veya Excel gibi) yaklaşık 78. terimden sonrasında kopyalamak, son birkaç basamağı sessizce yuvarlar — çok büyük değerleri her zaman keyfi hassasiyet için tasarlanmış bir araçla karşılaştırın.
  • Pratik kullanım alanları. Matematiğin ötesinde bu dizi, algoritma analizinde (Fibonacci arama, dinamik programlama örnekleri), bazı doğal büyüme örüntülerinin tanımlanmasında ve finansta teknik analizde kullanılan geri çekilme (retracement) seviyelerinde karşımıza çıkar.
  • Hesaplama yöntemi. Bu araç her terimi baştan itibaren toplayarak (F(n-1)+F(n-2)) doğrudan hesaplar; özyinelemeli (recursive) bir fonksiyonun aynı terimi defalarca yeniden hesaplaması gibi bir verimsizlik yaşanmaz, bu yüzden 1000. terime kadar bile sonuç anında gelir.

Sıkça Sorulan Sorular

N en fazla ne kadar olabilir?

1000'e kadar — normal kayan noktalı sayıların (düz JavaScript sayıları dahil) yaklaşık F(78) civarında hassasiyet kaybetmeye başladığı noktanın çok ötesinde. BigInt, terim ne kadar büyük olursa olsun her basamağı tam tutar.

Dizi 0'dan mı 1'den mi başlıyor?

Bu araç, çoğu ders kitabında kullanılan standart matematiksel tanıma uyarak F(0)=0, F(1)=1 ile başlar; bazı kaynaklar bunun yerine F(1)=F(2)=1 ile saymaya başlar.

Büyük Fibonacci sayıları neden normal bir sayı tipi yerine BigInt gerektirir?

Standart sayı tipleri, bir tamsayı yaklaşık 9 katrilyonu geçtiğinde sessizce yuvarlamaya başlar; Fibonacci dizisi bu noktaya yaklaşık 78. terimde ulaşır. BigInt sınırsız büyüklükteki tamsayıları tam olarak temsil eder, bu yüzden F(100) veya F(500) yuvarlanmış bir yaklaşık değer yerine son basamağına kadar doğru çıkar.

Altın oran bağlantısı nedir?

Her terimi kendinden öncekine bölmek (F(n)/F(n-1)) φ ≈ 1,618033988… değerine, yani altın orana yakınsar. Bu yaklaşım, yaklaşık 15. terimde zaten dört ondalık basamağa kadar doğrudur.

Tüm diziyi listelemeden doğrudan belirli bir terime gidebilir miyim?

Evet — istediğiniz terim numarasını girin, araç öncesindeki tüm terimleri göstermeye gerek kalmadan doğrudan F(n)'i hesaplar.

Yorumlar

Henüz yorum yok — ilk yorumu siz yazın!

Benzer Araçlar