PHP | Serie de Fibonacci

La serie de Fibonacci es una serie de elementos donde los dos elementos anteriores se suman para obtener el siguiente elemento, comenzando con 0 y 1. En este artículo, aprenderemos cómo generar una serie de Fibonacci en PHP de forma iterativa y recursiva. Dado un número n, necesitamos encontrar la serie de Fibonacci hasta el término n.
Ejemplos:

Input : 10
Output : 0 1  1 2 3 5 8 13 21 34

Input : 15
Output : 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 

Método 1: usar la forma recursiva
La recursividad es una forma en la que llamamos repetidamente a la misma función hasta que se iguala una condición base para finalizar la recursividad.

<?php  
// PHP code to get the Fibonacci series
// Recursive function for fibonacci series.
function Fibonacci($number){
      
    // if and else if to generate first two numbers
    if ($number == 0)
        return 0;    
    else if ($number == 1)
        return 1;    
      
    // Recursive Call to get the upcoming numbers
    else
        return (Fibonacci($number-1) + 
                Fibonacci($number-2));
}
  
// Driver Code
$number = 10;
for ($counter = 0; $counter < $number; $counter++){  
    echo Fibonacci($counter),' ';
}
?>

Producción:

0 1  1 2 3 5 8 13 21 34

Método 2: Usando la forma iterativa
Al principio, inicializamos el primer y segundo número a 0 y 1. Después de esto, imprimimos el primer y segundo número. Luego enviamos el flujo al ciclo while iterativo donde obtenemos el siguiente número sumando los dos números anteriores y simultáneamente intercambiamos el primer número con el segundo y el segundo con el tercero.

<?php
// PHP code to get the Fibonacci series
function Fibonacci($n){
  
    $num1 = 0;
    $num2 = 1;
  
    $counter = 0;
    while ($counter < $n){
        echo ' '.$num1;
        $num3 = $num2 + $num1;
        $num1 = $num2;
        $num2 = $num3;
        $counter = $counter + 1;
    }
}
  
// Driver Code
$n = 10;
Fibonacci($n);
?>

Producción:

0 1  1 2 3 5 8 13 21 34

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *