diff --git a/Tp2/recursivite.py b/Tp2/recursivite.py
index 75e8d2264eaac0145d72240724ea1c174eea4875..bfc1dfc7afb4a88aeff66a2c69f262aec094b149 100755
--- a/Tp2/recursivite.py
+++ b/Tp2/recursivite.py
@@ -292,7 +292,9 @@ def puissance_calbuth_v2(x: int|float, n: int) -> int|float:
 #Q6:
 # le gain dépend du nombre de fois ou la puissance est dévisée par 2.
 #Q7:
-# la fonction de n
+# lorque n est un nombre pair
+#si n est impair, pour se ramener au cas ou n est pair , on peut utiliser un appel recursif en decrementant
+#n de 1, ainsi on obtient un nouveau n pair sur lequel on peut appliquer la fonction puissance_calbuth 
     
     
 
@@ -314,7 +316,13 @@ def puissance_calbuth_v2_amelioree(x: int|float, n: int) -> int|float:
     1024
 
     """
-    ...
+    if n==0:
+        return 1
+    elif n%2==0:
+        temps=puissance_calbuth_v2_amelioree(x,n//2)
+        return temps*temps
+    else:
+        return x*puissance_calbuth_v2_amelioree(x,n-1)
 
 def puissance_erronee(x: int|float, n: int) -> int|float:
     """
@@ -341,6 +349,13 @@ def puissance_erronee(x: int|float, n: int) -> int|float:
         q = n // 2
         return puissance_erronee(x, r) * puissance_erronee(puissance_erronee(x, q), 2)
 
+
+#Q8:
+    #oui son idée améliorée permet  en effet de diminuer la complexité en nombre
+    #de multiplications dans le calcul de la puissance . cette approche utilise le récursion pour déviser les problèmes
+    #en sous-problèmes plus petits et évite ainsi derépeter les multiplications inutilement.
+    # la fonction puissance calbuth v2 amelioree effectue seulement les multiplications nécessaires pour obtenir le résultat final. 
+
 def puissance_reparee(x: int|float, n: int) -> int|float:
     """
     calcule  x élevé à la puissance n