Aller au contenu

Vérifier si Puissance de 2

Algorithmique classique

Exercice Débutant · Algo Express · prepa scientifique et economique (CPGE)

Enonce

Déterminer si un entier strictement positif n est une puissance de 2, en utilisant une opération bit à bit.

Signature attendue

def est_puissance_de_2(n: int) -> bool:

Exemples

  • est_puissance_de_2(1) → True (2^0)
  • est_puissance_de_2(16) → True (2^4)
  • est_puissance_de_2(18) → False

📖 Rappel de cours

Une puissance de 2 n'a qu'un seul bit à 1. Or soustraire 1 retourne ce bit et tous ceux situés à sa droite : le et logique entre le nombre et son prédécesseur est donc nul exactement dans ce cas.

⚠ Le piège : Il faut exclure n = 0 : le test passe alors qu'il n'est pas une puissance de 2. La condition complète comporte donc deux clauses, pas une.

← Exercices Python pour la prépa — CPGE scientifique et ECG

Exercices du meme theme

  • Couverture d'Intervalles
  • Codage de Huffman Simplifié
  • Compter les Bits à 1
  • XOR pour Trouver l'Unique
  • Échange sans Variable Temporaire
  • Bit le Plus Significatif

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