Fibonacci

  1. Especifiqueu i implementeu una funció recursiva fib que calculi l’enèssim nombre de Fibonacci, aplicant la següent definició:

    \[\begin{split}fib(n) & = & \left\{ \begin{array}{l l} n & \text{si} \; n < 2 \\ fib(n-1) + fib(n-2) & \text{si} \; n \ge 2 \end{array} \right.\end{split}\]

    Per exemple:

    >>> fib(0)
    0
    >>> fib(3)
    2
    >>> fib(8)
    21
    >>> fib(13)
    233
    

    Nota

    Disposeu de jocs de prova al fitxer fib.txt.

  2. Definiu la funció llista_fib(n) que retorna la llista amb els n primers nombres Fibonacci, és a dir fib(0), fib(1),... fib(n-1). Per exemple:

    >>> llista_fib(2)
    [0, 1]
    >>> llista_fib(4)
    [0, 1, 1, 2]
    >>> llista_fib(9)
    [0, 1, 1, 2, 3, 5, 8, 13, 21]
    >>> llista_fib(14)
    [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]
    

    Nota

    Disposeu de jocs de prova al fitxer llista_fib.txt.

Solució

Disposeu de solucions al fitxer fibonacci.py.