Mathématiques, Cinéma, Informatique

Activité VIII – Les suites

I – La suite de Syracuse

Soit p \in \mathbb{N}.
La suite de Syracuse du nombre p est définie de la façon suivante:
\left \{ \begin{array}{r c l}s_0 &=& p \\ s_{n+1} &=& \frac{s_n}{2}~si~s_n~est~pair \\ s_{n+1} &=& 3 \times s_n + 1~si~s_n~est~impair \end{array} \right.

  1. Choisir un nombre p. Calculer les 10 premiers termes de la suite de Syracuse.
  2. En python, l’opérateur % renvoie le reste de la division euclidienne.
    Ainsi 72 % 5 renvoie le reste de la division euclidienne de 72 par 5 soit 2:

    >>> 72 % 5
    2

    Que renvoient les commandes suivantes?

    >>> 17 % 2
    >>> 35 % 2
    >>> 26 % 2
    >>> 1354 % 2
  3. Soit n \in \mathbb{N}.
    Que peut-on dire de n si la commande n % 2 renvoie 1?
    Que peut-on dire de n si la commande n % 2 renvoie 0?
  4. En Python, créer une fonction Syracuse() de paramètres n et p, qui renvoie le terme s_n sachant que s_0=p.
  5. Tester la fonction Syracuse(). Par exemple:
    >>> Syracuse(15,5)
    106
  6. Créer une fonction liste_syracuse() de paramètres nb et p, et qui retourne la liste des nb premiers termes de la suite de Syracuse du nombre p.
    Par exemple:

    >>> liste_syracuse(6, 12)
    [12, 6, 3, 10, 5, 16]
  7. Que remarquez-vous lorsque nb est grand?
  8. Quel conjecture pouvez-vous faire sur la suite de Syracuse d’un nombre p?
  9. Créer une fonction liste_syracuse2() de paramètre p qui retourne la liste de tous les termes jusqu’à ce que l’un d’entre eux soit égal à 1.

II – La suite de Fibonnacci

La suite de Fibonnacci est définie de la façon suivante:
\left \{ \begin{array}{r c l}f_1 &=& 1 \\ f_2 &=& 1\\ f_{n+2} &=& f_{n+1} + f_n, \forall n \in \mathbb{N}\end{array} \right.

  1. Calculer les 5 premiers termes de la suite (f_n)_{n \in \mathbb{N}}.
  2. En Python, créer une fonction Fibonnacci() de paramètre n, qui retourne le terme f_n.
  3. Vérifier le bon fonctionnement de votre fonction grâce aux 5 premiers termes de la suite de Fibonacci.
  4. Créer une fonction liste_fibonnacci() de paramètre nbqui retourne la liste des nb premiers termes de la suite de Fibonacci.
    >>> liste_fibonnacci(6)
    [1, 1, 2, 3, 5, 8]