Aller au contenu

Exponentiation Rapide

Calcul de aⁿ en O(log n)

Exercice Intermédiaire · Algorithmique · prepa scientifique et economique (CPGE)

Enonce

Implémenter l'exponentiation rapide en version itérative et récursive. Tester avec $2^{10}=1024$ et $3^{20}$.

Signature attendue

def expo_rapide(a: float, n: int) -> float:

Exemples

  • expo_rapide(2, 10) → 1024
  • expo_rapide(3, 20) → 3486784401
  • expo_rapide_rec(2, 10) → 1024

📖 Rappel de cours

L'exponentiation rapide exploite la décomposition binaire de $n$ pour calculer $a^n$ en $O(\log n)$ multiplications au lieu de $O(n)$.

Principe :

$a^n = \begin{cases} 1 & \text{si } n=0 \\ (a^{n/2})^2 & \text{si } n \text{ pair} \\ a \cdot a^{n-1} & \text{si } n \text{ impair} \end{cases}$

Nombre de multiplications : $\lfloor\log_2 n\rfloor + \nu(n) - 1$ où $\nu(n)$ est le nombre de bits à 1.

← Exercices d'algorithmique en Python — tris, dichotomie, récursivité

Exercices du meme theme

  • Tri par Sélection
  • Tri Fusion (Merge Sort)
  • Tri Rapide (Quicksort)
  • Recherche dans une Liste Chaînée
  • Pile et File
  • Évaluation d'Expressions Postfixées

La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Essai gratuit
Testez toutes les fonctionnalités sans engagement
En continuant, vous acceptez notre politique de confidentialité.
Déjà abonné ? Se reconnecter
Recevez un lien de connexion par email
Parcourir gratuitement →
Aperçu limité · sans inscription · sans vérification IA
€4,99
/ mois · accès illimité · résiliable
Paiement sécurisé
En vous abonnant, vous acceptez nos conditions et politique de confidentialité.
Résiliation possible depuis votre espace PayPal.

Chargement...

Initialisation de l'environnement

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Progression
0 / 0
Solo
— / —
Python... SQL...
Recherche
🔬 Bac a sable Python ↗ 🧪 Bac a sable SQL ↗ 📝 Concours blanc ↗ 🏖️ Code à la plage ↗ 📚 Listes de rentrée ↗ 🛠️ Admin ↗
Tu aimes PrepaPython ?
Fais-le savoir !
← Retour à l'accueil Mentions legales & confidentialite