Existem maneiras inteligentes de determinar se um número é uma potência de 2. Isso não é mais um problema interessante, então vamos determinar se um número inteiro é uma potência de -2 . Por exemplo:
-2 => yes: (-2)¹
-1 => no
0 => no
1 => yes: (-2)⁰
2 => no
3 => no
4 => yes: (-2)²
Regras
Você pode escrever um programa ou uma função e usar qualquer um dos métodos padrão de recebimento de entrada e saída.
Sua entrada é um único número inteiro e a saída deve ser um valor verdadeiro se o número inteiro for uma potência inteira de -2 e, caso contrário, um valor falso. Nenhuma outra saída (por exemplo, mensagens de aviso) é permitida.
As regras usuais de estouro de números inteiros se aplicam: sua solução deve ser capaz de trabalhar com números inteiros arbitrariamente grandes em uma versão hipotética (ou talvez real) do seu idioma, na qual todos os números inteiros são ilimitados por padrão, mas se o seu programa falhar na prática devido à implementação não suporta números inteiros tão grandes, que não invalida a solução.
Você pode usar qualquer linguagem de programação , mas observe que essas brechas são proibidas por padrão.
Condição vencedora
Este é um concurso de código-golfe : a resposta que tiver menos bytes (na codificação escolhida) é a vencedora.
-0.5
devem ser válidos, pois são 2 ^ (- 1) .
i
não é natural
i
tal que(-2)^i = 2