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