Vérifier si Puissance de 2
Algorithmique classique
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.