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))