Lucas Willems

LUCAS WILLEMS

Un étudiant de 27 ans passionné par les maths et la programmation

English

Project Euler 25 : solution Python

Article

Voici un résumé de l'énoncé du problème 25 "1000-digit Fibonacci number" du Project Euler (traduction complète en français ici) :

What is the first term in the Fibonacci sequence to contain 1000 digits ?

Compréhension du problème

Reformulons le problème : il nous faut trouver le premier terme de la suite de Fibonacci qui contient 1000 chiffres. La façon la plus simple pour résoudre ce problème est de calculer les termes 1 par 1 tant que l'on ne trouve pas un terme possédant 1000 chiffres ou plus.

Le programme

Voici le programme Python que nous pouvons utiliser pour résoudre le problème :

a = 1
b = 1
resultat = 2
while len(str(b)) < 1000:
    a, b = b, a+b
    resultat += 1
print(resultat)

Le programme se résume donc à une initialisation de la suite de Fibonacci, une boucle tant que qui permet de calculer les termes suivants de la suite  et un compteur pour connaître le numéro du dernier terme calculé. Vous remarquerez que la syntaxe utilisée \((a, b = b, a+b)\) pour calculer les termes de la suite de Fibonacci permet de ne pas avoir besoin d'utiliser une variable intermédiaire.

Le résultat

La réponse à ce problème est 4782.

Recherche

Voici les recherches relatives à cette page :

Commentaires

Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.