Menu
CoddyTech

Power of Two

On te donne un entier n. Retourne true si n est une puissance de deux, c’est-à-dire n = 2^k pour un entier k ≥ 0, et false sinon. Ainsi, 1, 2, 4 et 8 sont acceptés, tandis que 0, 6 et tous les nombres négatifs ne le sont pas.

Fonction

isPowerOfTwo(n: integer) → boolean
ninteger
l’entier à tester, qui peut être nul ou négatif
Renvoieboolean
vrai si n est égal à 2^k pour un certain k ≥ 0, faux sinon

Contraintes

  • -231 ≤ n ≤ 231-1

Exemples

Entrée
n = 16
Sortie
true
Explication
16 = 2 × 2 × 2 × 2 = 2^4. En binaire, cela s’écrit 10000, avec un seul bit à 1.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Avec les mêmes astuces sur les bits, peux-tu tester si n est une puissance de quatre sans boucle ?

Réinitialiser le code
def isPowerOfTwo(n):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

n = 16

Attendu

true