Menu
CoddyTech

Power of Two

Recibes un número entero n. Devuelve true si n es una potencia de dos, es decir, n = 2^k para algún número entero k ≥ 0, y false en caso contrario. Así que 1, 2, 4 y 8 cuentan, mientras que 0, 6 y todos los números negativos no.

Función

isPowerOfTwo(n: integer) → boolean
ninteger
el entero que se va a probar, que puede ser cero o negativo
Devuelveboolean
true si n es igual a 2^k para algún k ≥ 0; false en caso contrario

Restricciones

  • -231 ≤ n ≤ 231-1

Ejemplos

Entrada
n = 16
Salida
true
Explicación
16 = 2 × 2 × 2 × 2 = 2^4. En binario es 10000, un único bit 1.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

Con los mismos trucos de bits, ¿puedes comprobar si n es una potencia de cuatro sin usar un bucle?

Restablecer código
def isPowerOfTwo(n):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

n = 16

Esperado

true