-1
votes

Comment trouver la nième valeur dans une série Fibonacci?

# Function for nth Fibonacci number 

def Fibonacci(n): 
    if n<0: 
        print("Incorrect input") 
    # First Fibonacci number is 0 
    elif n==1: 
        return 0
    # Second Fibonacci number is 1 
    elif n==2: 
        return 1
    else: 
        return Fibonacci(n-1)+Fibonacci(n-2) 

# Driver Program 

print(Fibonacci(9))
I am new to programming.
I cant get how this codes finds out the Fibonacci number....
How does the program calculates the value of (n-1) and (n-2)

1 commentaires

Essayez 0 en tant que paramètre.


5 Réponses :


0
votes
return Fibonacci(n-1)+Fibonacci(n-2)
This is a recursion. You should cache values to reduce recalculation.moreover, there is Binet's formula to calculate it at O(1) time.
https://en.wikipedia.org/wiki/Fibonacci_number

0 commentaires



0
votes

Pour expliquer comment votre code fonctionne pour identifier le nième numéro de la série Fibonacci, vous devez d'abord comprendre comment une série de Fibonacci est générée.

0, 1, 1, 2, 3, 5, 8, 13, 13, Et ainsi de suite.

ICI Si vous regardez les deux premiers numéros, il s'agit de 0 et 1, ce sont les numéros de base, à partir du numéro suivant, on découvre l'ajout des deux numéros précédents. D'où la formule. xxx

MAINTENANT Si vous regardez votre code, ce qui précède est exactement décrit ici. Toute valeur de N moins que 1 sera considérée comme non valide. Une valeur de 1 retourne a 0 et une valeur de 2 retours a 1. C'est exactement la même chose que nous l'avons mentionnée ci-dessus. xxx

enfin pour tous les autres cas que nous trouvons le Deux numéros précédents dans la série en utilisant la même règle (fonction) et les résument à obtenir le numéro souhaité.


0 commentaires