Vidéo 7 : Copier-coller Fibonacci¶
Copier-coller pour Fibonacci¶
Voici les 12 premiers termes de la suite de Fibonacci :
\(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144\)
Plus généralement, les deux premiers termes de cette suite sont 1 et encore 1 et, chaque terme de la suite à partir du troisième s’obtient en faisant la somme des deux précédents. Par exemple, ci-dessus, \(89 = 34 + 55\).
On cherche à calculer le \(\mathtt{n}\)-ème terme de la suite de Fibonacci. Comme on ne dispose pas encore de la structure de contrôle Python permettant de le faire de manière appropriée (la boucle \(\mathtt{for}\)), on va utiliser une astuce pas très élégante, des copier-coller. On calculera le 200e terme. On trouvera que c’est un entier de 42 chiffres et qui commence par 2805. Pour accélérer la saisie, on fera des copier-coller de copier-coller.
On utilisera quatre variables :
Variable | Initialisation | Rôle |
\(\mathtt{n}\) | \(\mathtt{n=2}\) | Rang du terme courant |
\(\mathtt{x}\) | \(\mathtt{x=1}\) | Avant-dernière valeur de la suite |
\(\mathtt{y}\) | \(\mathtt{y=1}\) | Dernière valeur calculée |
\(\mathtt{z}\) | Aucune | \(\mathtt{z = x + y}\) : valeur suivante |
Indications
La répétition sera assurée par des copier-coller. Supposons stockés
- l’avant-dernier terme, disons
x
, de rangn-1
- le dernier terme, disons
y
, de rangn
Alors le prochain terme sera z=x+y
et il faut penser à remettre à jour les variables pour l’étape suivante.
Solution
1 2 3 4 5 6 7 8 9 10 11 | x=1
y=1
n=2
# ------------ Copier ce code 200 fois ---------------
z=x+y
n=n+1
print(n, "ème terme :", z)
x=y
y=z
|