Il existe des méthodes astucieuses pour déterminer si un nombre est une puissance de 2. Ce n'est plus un problème intéressant. Déterminons donc si un entier donné est une puissance entière de -2 . Par exemple:
-2 => yes: (-2)¹
-1 => no
0 => no
1 => yes: (-2)⁰
2 => no
3 => no
4 => yes: (-2)²
Règles
Vous pouvez écrire un programme ou une fonction et utiliser l’une des méthodes standard de réception d’entrée et de sortie.
Votre entrée est un entier unique et la sortie doit être une valeur de vérité si l'entier est une puissance entière de -2 et une valeur de faux sinon. Aucune autre sortie (par exemple, des messages d'avertissement) n'est autorisée.
Les règles habituelles de dépassement d'entier s'appliquent: votre solution doit pouvoir fonctionner avec des entiers arbitrairement grands dans une version hypothétique (ou peut-être réelle) de votre langue dans laquelle tous les entiers sont non liés par défaut, mais si votre programme échoue dans la pratique en raison de la mise en œuvre ne prenant pas en charge des entiers aussi gros, cela n'invalide pas la solution.
Vous pouvez utiliser n’importe quel langage de programmation , mais notez que ces échappatoires sont interdites par défaut.
Condition gagnante
Il s’agit d’un concours de code-golf : la réponse qui a le moins d’octets (dans l’encodage choisi) est gagnante.
-0.5
devraient-ils être valides puisqu'il s'agit de 2 ^ (- 1) .
i
n'est pas naturel
i
tel que(-2)^i = 2