Hay formas inteligentes de determinar si un número es una potencia de 2. Eso ya no es un problema interesante, así que determinemos si un entero dado es una potencia entera de -2 . Por ejemplo:
-2 => yes: (-2)¹
-1 => no
0 => no
1 => yes: (-2)⁰
2 => no
3 => no
4 => yes: (-2)²
Reglas
Puede escribir un programa o una función y utilizar cualquiera de los métodos estándar para recibir entradas y proporcionar salidas.
Su entrada es un entero único, y la salida debe ser un valor verdadero si el entero es una potencia entera de -2, y un valor falso de lo contrario. No se permite ninguna otra salida (por ejemplo, mensajes de advertencia).
Se aplican las reglas habituales de desbordamiento de enteros: su solución debe poder funcionar para enteros arbitrariamente grandes en una versión hipotética (o tal vez real) de su idioma en la que todos los enteros están ilimitados de forma predeterminada, pero si su programa falla en la práctica debido a la implementación no admite enteros tan grandes, eso no invalida la solución.
Puede usar cualquier lenguaje de programación , pero tenga en cuenta que estas lagunas están prohibidas de forma predeterminada.
Condición ganadora
Este es un concurso de código de golf : la respuesta que tiene la menor cantidad de bytes (en la codificación elegida) es la ganadora.
-0.5
deberían ser válidos ya que es 2 ^ (- 1) .
i
que no es natural
i
tal que(-2)^i = 2