{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![En tête general](img/En_tete_general.png)\n",
"\n",
"\n",
"*(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/*\n",
"\n",
" Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# La suite de Fibonacci (Corrigé)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sommaire\n",
"\n",
"1. Définition par récurrence de la suite de Fibonacci.
\n",
"2. Formule de Binet : calculs directs des termes de la suite.
\n",
"3. Complément sur la suite de Fibonacci : Quotients de termes successifs. (Tale Spé Math)
\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Définition par récurrence de la suite de Fibonacci."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n", "On considère l'évolution d'une population (fictive) de lapins, régie par les règles suivantes :\n", "\n", "Activer la cellule ci-dessous pour obtenir une illustration dynamique des premiers mois d'observation.\n", "
\n", "- Initialement, il y a un couple de jeunes lapins ;
\n", "- Un nouveau couple de lapins doit attendre 1 mois avant d'être adulte et de pouvoir se reproduire ;
\n", "- Chaque mois, chaque couple de lapins adulte donne naissance à un nouveau couple de jeunes lapins ;
\n", "- Les couples de lapins ne meurent jamais.
\n", "
\n", "On note $F_n$ le nombre de couples de lapins à l'étape $n$, où $n \\in \\mathbb{N}$ est le rang du mois de l'observation (en considérant que $n=0$ correspond à l'étape initiale).\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__1.1. Soit $n \\in \\mathbb{N}$. Exprimer $F_{n+2}$ en fonction de $F_{n+1}$ et $F_n$.__\n", "
\n", " Notations :\n", "\n", "\n", "\n", "\n", "
\n", " Remarque :- $\\displaystyle \\phi$ est une lettre grecque qui se lit \"phi\" ;
\n", "- $\\displaystyle \\psi$ est une lettre grecque qui se lit \"psi\".
\n", "
\n", " Le nombre $\\phi$ ainsi défini s'appelle le nombre d'or.\n", "
\n", "On pose $\\displaystyle \\phi=\\frac{1+\\sqrt{5}}{2}$ et $\\displaystyle \\psi=\\frac{1-\\sqrt{5}}{2}$, et on considère :\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2.0 Valider la cellule suivante.__\n", "
\n", "- la suite $(u_n)_{n \\geq 0}$ géométrique de premier terme $u_0=\\phi$ et de raison $\\displaystyle \\phi$.
\n", "- la suite $(v_n)_{n \\geq 0}$ géométrique de premier terme $v_0=\\psi$ et de raison $\\displaystyle \\psi$.
\n", "
\n", "La formule de Binet affirme que pour tout $n \\in \\mathbb{N}$ ; $\\displaystyle F_{n} = \\frac{u_{n}-v_{n}}{\\sqrt{5}} $. \n", "\n", "\n", "2.3. Question différenciée suivant le niveau :\n", "
\n", "\n", "\n", "\n", "\n", " Version 1ère Spé Math\n", "
\n", " À l'aide de saisies Python, calculer $\\displaystyle \\frac{u_{n}-v_{n}}{\\sqrt{5}}$ pour tous les entiers $n$ de 0 jusqu'à 29.\n", "
(on appliquera la fonction simplify)\n", "
Comparer les résultats avec ceux de la question 1.4.\n", "
Pour la suite, on admettra que la formule de Binet est vraie pour tout $n \\in \\mathbb{N}$.\n", "\n", " Version Tale Spé Math\n", " \n", "
\n", " a. Démontrer que $\\phi$ et $\\psi$ sont les racines du polynôme $x²-x-1$.
\n", " $\\quad$ ($\\phi$ et $\\psi$ vérifient donc $1+\\phi=\\phi^2$ et $1+\\psi=\\psi^2$).
\n", " b. À l'aide d'un raisonnement par récurrence, démontrer que la formule de Binet est vraie pour tout $n \\in \\mathbb{N}$.\n", "
\n", " Version 1ère Spé Math\n", "
\n", " Voir la saisie Python ci-dessous. On retrouve les mêmes valeurs que dans la question 1.4.\n", "
\n", " Version Tale Spé Math\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1,\n", " 1,\n", " 2,\n", " 3,\n", " 5,\n", " 8,\n", " 13,\n", " 21,\n", " 34,\n", " 55,\n", " 89,\n", " 144,\n", " 233,\n", " 377,\n", " 610,\n", " 987,\n", " 1597,\n", " 2584,\n", " 4181,\n", " 6765,\n", " 10946,\n", " 17711,\n", " 28657,\n", " 46368,\n", " 75025,\n", " 121393,\n", " 196418,\n", " 317811,\n", " 514229,\n", " 832040]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Zone pour les saisies Python (version 1ère Spé Math)\n", "\n", "[ simplify( (u(n)-v(n))/sqrt(5) ) for n in range(30) ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2.4.a. À l'aide des fonctions Python u et v, écrire une fonction Python F d'argument n qui permet le calcul direct de $F_n$.__" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Écrire ici la fonction F\n", "def F(n):\n", " return simplify( (u(n)-v(n))/sqrt(5) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\quad$__b. Effectuer une saisie Python pour calculer $F_{10}$, puis pour calculer $F_{50}$.__" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(89, 20365011074)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Effectuer ici les appels à la fonction F\n", "F(10),F(50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Complément sur la suite de Fibonacci : Quotients de termes successifs. (Tale Spé Math)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__3.1. Exécuter les cellules Python suivantes.__
\n", " a. $x²-x-1$ a pour discriminant $\\Delta = 5 > 0$ donc ce polynôme a deux racines distinctes $\\displaystyle \\phi=\\frac{1+\\sqrt{5}}{2}$ et $\\displaystyle \\psi=\\frac{1-\\sqrt{5}}{2}$.
\n", " b. On note $P(n)$ la propriété : \" Pour $0 \\leq k \\leq n$ ; $\\displaystyle F_k=\\frac{u_{k}-v_{k}}{\\sqrt{5}}$ \"
\n", "\n", "
\n", "- $\\displaystyle \\frac{u_{0}-v_{0}}{\\sqrt{5}}=\\frac{\\phi-\\psi}{\\sqrt{5}}=\\frac{1}{\\sqrt{5}} \\times \\left( \\frac{1+\\sqrt{5}}{2}-\\frac{1-\\sqrt{5}}{2} \\right)=\\frac{1}{\\sqrt{5}} \\times \\sqrt{5}=1$
\n", "
\n", " $\\displaystyle \\frac{u_{1}-v_{1}}{\\sqrt{5}}=\\frac{\\phi^2-\\psi^2}{\\sqrt{5}}=\\frac{1+\\phi- \\left( 1+\\psi \\right) }{\\sqrt{5}}=\\frac{\\phi-\\psi}{\\sqrt{5}}=1$ donc $P(1)$ est vraie.- Supposons que $P(n)$ soit vraie pour un entier $n \\geq 1$ fixé.
\n", " Alors:
\n", " $F_{n+1}=F_n+F_{n-1}$
\n", " $\\displaystyle F_{n+1}=\\frac{\\phi^{n+1}-\\psi^{n+1}}{\\sqrt{5}}+\\frac{\\phi^{n}-\\psi^{n}}{\\sqrt{5}}$
\n", " $\\displaystyle F_{n+1}=\\frac{\\phi^{n+1}-\\psi^{n+1}+\\phi^{n}-\\psi^{n}}{\\sqrt{5}}$
\n", " $\\displaystyle F_{n+1}=\\frac{(\\phi+1)\\phi^{n}-(\\psi+1)\\psi^{n}}{\\sqrt{5}}$
\n", " $\\displaystyle F_{n+1}=\\frac{\\phi^2\\phi^{n}-\\psi^2\\psi^{n}}{\\sqrt{5}}$
\n", " $\\displaystyle F_{n+1}=\\frac{\\phi^{n+2}-\\psi^{n+2}}{\\sqrt{5}}$
\n", " ce qui prouve que $P(n+1)$ est vraie.\n", "- On a démontré que $P$ est fondée pour $n=1$ et héréditaire à partir de ce rang, donc $P(n)$ est vraie pour tout $n \\geq 1$.
\n", "
Ainsi, la formule de Binet est bien démontrée.