Задача 4: число Фибоначчи

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

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

<?php
function numberPisano($number, $a, $b)
{
	echo $a, "<br>", $b, "<br>";
	for($i = 1; $i < $number; $i++){
		$c = $a + $b;
		echo $c, "<br>";
		$a = $b;
		$b = $c;
		}	
}
$firstNumber = 1;
$secondNumber = 2;
$numberOfRandomNumbers = 5;
numberPisano($numberOfRandomNumbers, $firstNumber, $secondNumber);
$n = 6;
$f = 3;
$s = 4;
numberPisano($n, $f, $s);
melisa's picture

Но есть пара вопросов к логике решения поставленной задачи:

  1. Если запустить код, увидим, что функция всегда выводит на экран на 1 число больше, чем значение переменной
    $numberOfRandomNumbers

    Т.е., какое число именно искомое, приходится догадываться. Если имеется ввиду, что искомое число - последнее, то решение придётся подкорректировать.

  2. В последовательности Фибоначчи, по мнению Википедии, первые два числа равны либо 1 и 1, либо 0 и 1, поэтому предлагать Вашей функции в качестве второго и третьего аргумента значения "3" и "4" не следует
JinJim's picture

<?php
function numberPisano01($number)
{
	$a = 0;
	$b = 1;
    echo $a, "<br>", $b, "<br>";
    for($i = 2; $i < $number; $i++){
		$c = $a + $b;
        echo $c, "<br>";
        $a = $b;
        $b = $c;
        }   
}
function numberPisano11($number)
{
	$a = 1;
	$b = 1;
    echo $a, "<br>", $b, "<br>";
    for($i = 2; $i < $number; $i++){
		$c = $a + $b;
        echo $c, "<br>";
        $a = $b;
        $b = $c;
        }   
}
$numberOfRandomNumbers = 5;
$n = 6;
numberPisano01($n);
numberPisano11($numberOfRandomNumbers);