From ff2704fcb69058039ecc137b68704e4632779ecc Mon Sep 17 00:00:00 2001 From: Tipragot Date: Thu, 5 Oct 2023 15:03:07 +0200 Subject: [PATCH] Exercice L --- Chapitre 2 - Récursivité/exercices.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Chapitre 2 - Récursivité/exercices.py b/Chapitre 2 - Récursivité/exercices.py index b936b41..72ff10e 100644 --- a/Chapitre 2 - Récursivité/exercices.py +++ b/Chapitre 2 - Récursivité/exercices.py @@ -109,3 +109,13 @@ def myst(a, b, q=0): """ if a < b: return q,a # Si a est plus petit que b on ne peut plus diviser donc on retourne le quotien et le reste return myst(a-b, b, q+1) # Sinon on enlève b a a et on retourne le quotien et le reste de a par b + +def expo_rapide(x, n): + if n == 1: + return x + if n == 0: + return 1 + r = expo_rapide(x, n//2) + return r * expo_rapide(x, n//2 + (n % 2)) + +print(expo_rapide(2, 10000))