Aller au contenu

Compléments

I. Un problème célèbre : les tours de Hanoï⚓︎

II. Si vous avez suivi la spécialité maths en 1ère⚓︎

Suite définie par récurrence

Vous avez étudié les suites définies par récurrence.

Par exemple :
Soit la suite \((u)\) définie par \(u_0=5\) et \(u_{n+1}=3u_n+2\)

Vous voulez un moyen de déterminer directement \(u_{50}\) par exemple, ou d'une manière générale n'importe quel \(u_n\), pour un entier \(n\) donné.

Pour cela il est très intuitif d'utiliser une fonction récursive.

Compléter ci-dessous (être patient, l'exécution des tests prend un peu de temps à la validation)

###
# Testsbksl-nlassert u(0) == 5bksl-nlassert u(3) == 161bksl-nlassert u(50) == 4307387926151115532621493bksl-nlbksl-nl# Autres testsbksl-nlassert u(10) == 354293bksl-nlassert u(20) == 20920706405bksl-nlbksl-nlbksl-nl 5/5
def u(n):bksl-nl """bksl-nl :param n: entier positif ou nul représentant le rang du terme de la suitebksl-nl :returns: Cette fonction renvoie la valeur de u(n)bksl-nl """bksl-nl ...bksl-nlbksl-nlbksl-nl# Testsbksl-nlassert u(0) == 5bksl-nlassert u(3) == 161bksl-nlassert u(50) == 4307387926151115532621493bksl-nlbksl-nlbksl-nlbksl-nlbksl-nlbksl-nlbksl-nldef u(n):bksl-nl """bksl-nl :param n: entier positif ou nul représentant le rang du terme de la suitebksl-nl :returns: Cette fonction renvoie la valeur de u(n)bksl-nl """bksl-nl if n == 0:bksl-nl return 5bksl-nl else:bksl-nl return 3py-stru(n - 1) + 2bksl-nlbksl-nlbksl-nlbksl-nl



III. Approfondissement (au-delà du programme NSI)

Récursivité par Franck Chambon