Poder del 4

Descubre si un número es potencia de cuatro sin bucles ni recursión en PHP, mediante operaciones bit a bit y la máscara 0x55555555; explicación paso a paso.

lunes, 18 de agosto de 2025 • 2 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

342. Power of Four

Descripción Problema Dado un entero n devuelve verdadero si es potencia de cuatro en caso contrario devuelve falso Un entero n es potencia de cuatro si existe un entero x tal que n = 4 elevado a x

Ejemplo 1 Entrada n = 16 Salida verdadero

Ejemplo 2 Entrada n = 5 Salida falso

Ejemplo 3 Entrada n = 1 Salida verdadero

Restricciones -2147483648 <= n <= 2147483647

Follow up Podrías resolverlo sin bucles ni recursión

Solución Resumen La idea es comprobar tres condiciones básicas Primero n debe ser positivo Segundo n debe ser potencia de dos Tercero la unica posicion del bit en uno debe estar en un indice par empezando desde cero Esto se puede verificar con operaciones bit a bit sin bucles ni recursión

Paso 1 Comprobar que n es mayor que cero

Paso 2 Comprobar que n es potencia de dos usando la propiedad n & n - 1 igual a cero es decir si (n & (n - 1)) == 0 entonces n es potencia de dos

Paso 3 Comprobar que el bit en uno esta en una posicion par usando la mascara 0x55555555 que en binario es 01010101010101010101010101010101 Si (n & 0x55555555) es distinto de cero entonces la posicion del bit establecido es par y n es potencia de cuatro

Implementacion en PHP

<?php function isPowerOfFour($n) { if ($n <= 0) { return false; } if (($n & ($n - 1)) != 0) { return false; } return ($n & 0x55555555) != 0; } // Casos de prueba var_dump(isPowerOfFour(16)); var_dump(isPowerOfFour(5)); var_dump(isPowerOfFour(1)); ?>

Explicacion detallada La primera comprobacion descarta valores nulos y negativos porque las potencias de cuatro son siempre positivas La segunda comprobacion utiliza una propiedad clasica de las potencias de dos que permite verificar con una sola operacion bit a bit si existe un unico bit activo La tercera comprobacion asegura que ese unico bit activo se encuentra en una posicion par para diferenciar potencias de cuatro de otras potencias de dos como 2 o 8 que no cumplen esta condicion Gracias a estas tres comprobaciones el algoritmo es eficiente y evita bucles y recursiones

Sobre Q2BSTUDIO

Q2BSTUDIO es una empresa de desarrollo de software a medida y aplicaciones a medida especializada en inteligencia artificial ciberseguridad y servicios cloud aws y azure Ofrecemos servicios de desarrollo de software a medida integrando soluciones de inteligencia artificial e ia para empresas como agentes IA y plataformas de analitica con power bi Nuestro portafolio incluye software a medida servicios inteligencia de negocio implementacion de servicios cloud aws y azure proyectos de ciberseguridad y consultoria en inteligencia artificial Contamos con equipos expertos en agentes IA y soluciones de business intelligence para impulsar la transformacion digital de su empresa

Palabras clave aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi

Contacto Si desea saber mas sobre nuestros servicios visite nuestro sitio web o contacte con el equipo de Q2BSTUDIO para una consultoria personalizada

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.