Fibonacci Dizisi Algoritması

Konusu 'Programlama Dilleri' forumundadır ve avaab tarafından 19 Haziran 2011 başlatılmıştır.

  1. avaab

    avaab Üyecik

    Katılım:
    1 Nisan 2011
    Mesajlar:
    7
    Beğenileri:
    0
    Ödül Puanları:
    0

    - Fibonacci Dizisi Algoritması

    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
     
  2. ozkan370

    ozkan370 Üyecik

    Katılım:
    22 Mart 2007
    Mesajlar:
    99
    Beğenileri:
    4
    Ödül 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.
     
  3. raxetul

    raxetul Profesör

    Katılım:
    17 Nisan 2009
    Mesajlar:
    1.377
    Beğenileri:
    7
    Ödül Puanları:
    38
    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.
     
  4. avaab

    avaab Üyecik

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

    raxetul Profesör

    Katılım:
    17 Nisan 2009
    Mesajlar:
    1.377
    Beğenileri:
    7
    Ödül Puanları:
    38
    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?
     
  6. avaab

    avaab Üyecik

    Katılım:
    1 Nisan 2011
    Mesajlar:
    7
    Beğenileri:
    0
    Ödül Puanları:
    0
    Kısmen hobi olarak biraz da okuduğum bölüm ile alakalı..
     
  7. SDN Okuru

    SDN Okuru SDN Okuru

    :blush:ya ben bunu tam olarak annlamadım algoritma olarak yazabilirmisinizzz çokk acilll
     
  8. engerex

    engerex Dekan

    Katılım:
    16 Ağustos 2008
    Mesajlar:
    7.672
    Beğenileri:
    19
    Ödül Puanları:
    38
    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ı
     

Sayfayı Paylaş