Задача для начинающих №4

Задача из списка

<?php
/*
* Вывести на экран n-ное число Фибоначчи.
* @param int $n  номер выводимого числа
*/
function fibFunc($n){
    if($n == 0 || $n == 1){
        return $n;
    }else {
        return fibFunc($n-1) + fibFunc($n-2); 
    }
}
echo fibFunc(6); // вызов
?>
vedro-compota's picture

изящно, но в в комментарии приведите решение без рекурсии

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

dimmkan's picture

<?php
/*
* Вывести на экран n-ное число Фибоначчи.
* @param int $n  номер выводимого числа
*/
function fibFunc($n){
    $x = 1;
    $y = 1;

    for ($i = 2; $i < $n; $i++) {
        $y = $x + $y;
        $x = $y - $x;
    }
    
    return $y;
}
echo fibFunc(6); // вызов
?>
dimmkan's picture

<?php
/*
* Вывести на экран n-ное число Фибоначчи.
* @param int $n  номер выводимого числа
*/
function fibFunc($n){
    $x = 1;
    $y = 1;

    for ($i = 2; $i < $n; $i++) {
        $y = $x + $y;
        $x = $y - $x;
    }
    
    return $y;
}
echo fibFunc(6); // вызов
?>
vedro-compota's picture

решение засчитано

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