Lucas Willems

LUCAS WILLEMS

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

English

Project Euler 2 : solution Python

Article

Voici un résumé de l'énoncé du problème 2 "Even Fibonacci numbers" du Project Euler (traduction complète en français ici) :

Find the sum of the even-valued terms of the Fibonacci sequence whose values do not exceed four million.

Compréhension du problème

Reformulons le problème : il nous faut trouver la somme des termes de la suite de Fibonacci dont la valeur est paire et ne dépasse pas 4 millions.

Comme expliqué dans le problème, pour connaître la valeur d'un terme de la suite de Fibonacci, il faut faire la somme des 2 termes le précédent ce qui peut être traduit par la suite mathématique suivante :

$$u_{n} = u_{n-1} + u_{n-2}$$

Tout comme le problème 1 du Project Euler, ce problème étant normalement assez simple à résoudre, je ne vais pas m'éterniser sur les explications. Seulement, sachez juste que :

Le programme

Voici une solution possible, en Python, pour ce problème :

a, b = 1, 2
resultat = 0
while b <= 4000000:
    if b % 2 == 0:
        resultat += b
    a, b = b, a + b
print(resultat)

Je ne pense pas avoir besoin de donner des explications particulières pour ces codes, si ce n'est que la forme \(a, b = c, d\) permet, en gros, d'affecter à a la valeur de c et à b la valeur de d. Cette forme peut aussi être utilisée pour interchanger la valeur de 2 variables comme ceci : \(a, b = b, a\)

Le résultat

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

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.