Intern
Фибоначчи тізбегі дегеніміз не?
sobes.tech AI
AI-дан жауап
Фибоначчи тізбегі — бұл әр келесі саны алдыңғы екі санның қосындысы болатын сандық тізбек. Әдетте, тізбектегі алғашқы екі сан 0 және 1-ге тең.
Ресми анықтама: F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2) n > 1 кезінде.
Тізбектің алғашқы бірнеше санының мысалы: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
PHP-да жүзеге асыру мысалы:
<?php
/**
* Н-ші Фибоначчи санын рекурсивті түрде генерациялайды.
* Үлкен n үшін тиімсіз, себебі қайталанатын есептеулер көп.
*
* @param int $n Тізбектегі санның индексі (0-ден басталады).
* @return int Н-ші Фибоначчи саны.
*/
function fibonacciRecursive(int $n): int
{
if ($n <= 1) {
return $n; // Негізгі жағдай: F(0)=0, F(1)=1
}
return fibonacciRecursive($n - 1) + fibonacciRecursive($n - 2); // Рекурсив шақыру
}
/**
* Н-ші Фибоначчи санын итеративті түрде генерациялайды.
* Үлкен n үшін тиімдірек.
*
* @param int $n Тізбектегі санның индексі (0-ден басталады).
* @return int Н-ші Фибоначчи саны.
*/
function fibonacciIterative(int $n): int
{
if ($n <= 1) {
return $n; // Негізгі жағдай
}
$a = 0; // F(n-2)
$b = 1; // F(n-1)
for ($i = 2; $i <= $n; $i++) {
$c = $a + $b; // F(n) = F(n-2) + F(n-1)
$a = $b; // F(n-2)-ні жаңарту
$b = $c; // F(n-1)-ді жаңарту
}
return $b; // Соңғы есептелген сан нәтиже
}
// Қолдану мысалдары
// echo fibonacciRecursive(7); // Шығу: 13
// echo fibonacciIterative(7); // Шығу: 13
?>