Fibonacci Dizisi Algoritması

Bu konuyu okuyanlar

avaab

Öğrenci
Katılım
1 Nisan 2011
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Fibonacci dizisi ile ilgili bir algoritma gördüm bir kitapda onu anlamaya çalışıyorum.Kafam durmuş durumda başım da ağrıyor zaten çözemedim vallahi yardımcı olur musunuz ?

Algoritma :

Başla

X=1
Y=1

Yaz X,Y

YENİ Z=X+Y

S=S+1

YAZ Z

X=Y

Y=Z

S=98 Mİ ?

GİT YENİ

DUR
 

ozkan370

Öğrenci
Katılım
22 Mart 2007
Mesajlar
99
Reaksiyon puanı
4
Puanları
0
fibonacci dizisinin kuralı şudur fn=fn-1+fn-2 dir yani başlangıcı 1 ve 1 kabul edilir ve 3 sayı şu şekilde bulunur 1+1=2 yeni sıralama 1 1 2 dir 4. sayı ise 1+2=3 yani 1 1 2 3 diye gider. 1 1 2 3 5 8 13 21 34 55 89 diye gider 12 sayı 144 dür.
 

raxetul

Müdavim
Katılım
17 Nisan 2009
Mesajlar
1,405
Reaksiyon puanı
31
Puanları
48
il başta x ile y yi yani 2 tane 1 i yazıyor. 2 eleman yazıldığı için döngü içinde s 0 dan başlatılıyor 98 e gelince çıkılıyor. Yani 2 + 98 , 100 tane sayı yazıyor ekrana. X ile Y yi topluyor Z ye atıyor. z yi ekrana yazınca yeni son iki elemanımız yani Y ile Z değerli Y => X e Z =>Y ye kaydırılıyor. Bu sayede X ile Y de her döngü sonunda son hesaplanan iki fib değeri tutulmuş oluyor.
 

avaab

Öğrenci
Katılım
1 Nisan 2011
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Evet evet şimdi kafam yerine gelmeye başladı kaydırmayı çözememiştim hallettim onuda teşekkürler arkadaşlar..
 

raxetul

Müdavim
Katılım
17 Nisan 2009
Mesajlar
1,405
Reaksiyon puanı
31
Puanları
48
Eksiklik: S in ilk değeri verilmemiş 0 olmalı. Buradaki s sadece kaçıncı fibonaccide olduğunu belirtiyor ama fib(3)=2 iken burada s=3 iken ekrana 5 yazıyor.

---------- Post added at 14:04 ---------- Previous post was at 14:03 ----------

Hobi olarak mı program yazmaya çalışıyorsun?
 

avaab

Öğrenci
Katılım
1 Nisan 2011
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Kısmen hobi olarak biraz da okuduğum bölüm ile alakalı..
 
S

SDN Okuru

SDN Okuru
:blush:ya ben bunu tam olarak annlamadım algoritma olarak yazabilirmisinizzz çokk acilll
 

engerex

Müdavim
Katılım
16 Ağustos 2008
Mesajlar
7,676
Reaksiyon puanı
26
Puanları
48
SDN programlama kafe konusunda çeşitli programlama dilleriyle yazılmış kodlar mevcut.


function fibonacci(f,b,s:Integer):boolean;
begin
repeat
Form1
.Memo1.Lines.Add(IntToStr(f)); //veya writeln
b := f + b;
f := b - f;
until f>s;
end;


fibonacci(0,1,99); //Kullanımı
 
Üst