PHP ile Fibonacci sayı Dizisi Yapımı

Fibonacci sayı dizisinin genel mantığı, öncekiyle ondan önceki sayının toplanmasıdır. Yani ilk adımlar 1-1 ise 3. adım 2 olur. Aynı şekilde 4. adım da 5… Şu şekilde gider: 1-1-2-3-5-8-13-21-34-55-89… Bunun PHP’deki hali aslında biraz değişik. Fakat fark ettiğim bir şey var, 5000. adımdan sonra hata vermeye başlıyor ve çıktıyı “inf” olarak veriyor. Fazla uzatmadan kodlara bakabilirsiniz.

<?php
header('Content-type: text/plain');
$number = 10000;
error_reporting(0);
$satirlar = null;

for( $i = 1; $i<= $number; $i++ ) { // Eğer $i, 0 olursa boş değer dönmemesi için konular 0. indise sahip elemanı da çıktılar.
    $satirlar = array();
    $satirlar[] = 0; // Boş değer dönmemesi için konuldu.
    $satirlar[] = 1; // Başlangıç elemanı: 1 1 2 3 5 ...
    for( $j = 0; $j<$i; $j++) 
    {
        if($j) // $j belirtilen koşulu sağlıyorsa işlem yap.
        {
            $satirlar[] = $onceki[$j-1]+$onceki[$j];   
        }
    }

    $onceki = $satirlar; // Önceki elemanlar, aslında $satirlar dizisinin bir kopyası.

    echo number_format($satirlar[$i],0,'.','.')."\n"; // Büyük sayılar için number_format
}
?>

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir