Пример решения. 4. Вывести на экран n-ное число Фибоначчи

Задача из этого списка.

<?php
/* Вывести на экран n-ное число Фибоначчи*/
function fibonachi ($n) {
    $a = 0;
    $b = 1;
    if ($n == 1) {
        echo $a, "<br>";
        echo "$n -ый член последовательности: ", $a, "<br>";
    }
    elseif ($n == 2) {
        echo $a, " ", $b, "<br>";
        echo "$n -ой член последовательности: ", $b, "<br>";
    }
    elseif ($n > 2) {
        echo $a, " ", $b, " "; 
        for ($i = 0; $i+2 < $n; $i++) {
            $c = $a + $b;
            $a = $b;
            $b = $c;
            echo $c, " ";
        }    
        echo "<br> $n -й член последовательности: ", $c;     
    }
    
}
fibonachi (8);

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

Замечания:

  1. Ключевые слова (надо проставить)
  2. оформление кода тут:
    fibonachi (8);

    -- уже обсуждали здесь.

  3. Также посмотрите этот раздел раздел правил относительно блоков функции.

_____________
матфак вгу и остальная классика =)

melisa's picture

<?php
/* Вывести на экран n-ное число Фибоначчи*/
function fibonachi ($n) 
{
    $a = 0;
    $b = 1;
    if ($n == 1) {
        echo $a, "<br>";
        echo "$n -ый член последовательности: ", $a, "<br>";
    }
    elseif ($n == 2) {
        echo $a, " ", $b, "<br>";
        echo "$n -ой член последовательности: ", $b, "<br>";
    }
    elseif ($n > 2) {
        echo $a, " ", $b, " "; 
        for ($i = 0; $i+2 < $n; $i++) {
            $c = $a + $b;
            $a = $b;
            $b = $c;
            echo $c, " ";
        }    
        echo "<br> $n -й член последовательности: ", $c;     
    }
     
}
fibonachi(8);
vedro-compota's picture

Как будет выглядеть цикл:

        for ($i = 0; $i+2 < $n; $i++) {
            $c = $a + $b;
            $a = $b;
            $b = $c;
            echo $c, " ";
        } 

Если реализовать то же самое, но с помощью while?

_____________
матфак вгу и остальная классика =)

melisa's picture

$i = 0;
while ($i+2 < $n) {
    $c = $a + $b;
    $a = $b;
    $b = $c;
    echo $c, " ";
    $i++;        
}