Comment écrire un algorithme pour résoudre la séquence de Fibonacci en Python ?

王林
Libérer: 2023-09-19 09:18:12
original
1677 Les gens l'ont consulté

Comment écrire un algorithme pour résoudre la séquence de Fibonacci en Python ?

Comment écrire un algorithme pour résoudre la séquence de Fibonacci en Python ?

La séquence de Fibonacci est une séquence classique, qui se définit comme suit : le premier et le deuxième nombres sont tous deux 1, et à partir du troisième nombre, chaque nombre est la somme des deux nombres précédents. C'est-à-dire : 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

En Python, vous pouvez utiliser des boucles ou la récursivité pour écrire des algorithmes permettant de résoudre la séquence de Fibonacci. La mise en œuvre spécifique de ces deux méthodes sera présentée ci-dessous.

Méthode 1 : Utiliser des boucles

L'algorithme d'utilisation de boucles pour résoudre la séquence de Fibonacci est relativement intuitif Le code est le suivant :

def fibonacci(n):
    if n <= 0:
        return "输入有误!"
    elif n <= 2:
        return 1
    else:
        a, b = 1, 1
        for _ in range(n-2):
            a, b = b, a + b
        return b
Copier après la connexion

Dans le code ci-dessus, en définissant les valeurs initiales a et b sur 1, les boucles sont utilisées pour calculer le nième nombre de la séquence de Fibonacci. Dans la boucle, les valeurs de a et b sont mises à jour à chaque fois jusqu'à ce que le nième nombre soit calculé. Renvoie enfin la valeur du nième nombre.

Méthode 2 : Utiliser la récursion

L'algorithme de résolution de la séquence de Fibonacci par récursion est relativement simple. Le code est le suivant :

def fibonacci(n):
    if n <= 0:
        return "输入有误!"
    elif n <= 2:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
Copier après la connexion

Dans l'implémentation récursive, déterminez d'abord si la valeur n d'entrée est légale si elle est inférieure. supérieur ou égal à 0, un message d'erreur est renvoyé ; si n est égal à 1 ou 2, 1 est renvoyé directement ; sinon, la valeur du nième nombre est résolue en s'appelant récursivement, en calculant la somme des valeurs. des nombres n-1 et n-2 pour obtenir des résultats.

Il convient de noter que la méthode récursive peut poser le problème des calculs répétés et est relativement inefficace. Les performances des algorithmes récursifs peuvent être optimisées en utilisant la mise en cache pour éviter les calculs répétés.

Pour résumer, on peut écrire du code Python en boucle ou de manière récursive pour résoudre la séquence de Fibonacci. La méthode à choisir dépend des besoins réels et des exigences d’efficacité du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal