Serie fibonacci en php

5/5 - (1 voto)


El otro día un amigo que se esta introduciendo en el mundo de la progtamación me comento que andaba liado con la serie de fibonnaci, y se me ocurrió la idea de escribir una entrada sobre cono programar esta secuencia en php.

La serie de fibonnaci es un básico en el mundo de la programación y de lo primero que se aprende, así que no esta de mas recordar un poco en que consiste.

La sucesión comienza con los números 0 y 1,​ y a partir de estos, «cada término es la suma de los dos anteriores», es la relación de recurrencia que la define.

La resolución del algoritmo en pseucodigo seria asi:

Serie fibonnacci pseudocodigo

Y la solución en forma de función seria la siguiente:

<?php

function fibonacci($n)
{
    $fibonacci  = [0,1];

  for($i=2;$i<=$n;$i++)
    {
        $fibonacci[] = $fibonacci[$i-1]+$fibonacci[$i-2];
    }
    echo $fibonacci[$n];
}

fibonacci(10);

?>

Básicamente consiste en un función que recibe le numero que se quiere calcular en la serie de fibonacci.

Un array $fibonnacci al que le incluimos los dos primeros valores (0,1).

Y un bucle for que iniciamos en la posición 2 al no necesitar las dos primeras posiciones del array, que se recorre hasta el numero pasado a la función.

Que va sumando los números correspondientes mostrando con un echo el resultado al salir del bucle.

6 comentarios en «Serie fibonacci en php»

  1. Muchas gracias por tu aportación. La he puesto a funcionar y es perfecta.
    Pero y si, ahora , quisieramos saber específicamente el valor de un índice del array de Fibonacci ? Por ejemplo, ¿qué cantidad corresponde al índice 500? 500=>¿…?
    ¿qué código podríamos utilizar? Muchísimas gracias !!! Frank.

    Responder
    • Si te das cuenta en el ejemplo a la funcion le pasamos los 10 primeros valores -> fibonacci(10);

      Pues se quiremos 500 valores se lo tendremos que pasar a la funcion -> fibonacci(500);

      Despues al ejecutar la funcion si pintara la posicion 500 con esta instruccion -> echo $fibonacci[$n];

      Responder
  2. Hola, Muchas gracias
    como puedo hacer el mismo ejercicio pero que un usuario en una pagina web
    ingrese un numero y le muestre la secuencia fibonaci, ¿Me sirve un do -while o un while solo?

    Responder

Deja un comentario