Tâche:
À partir d’une entrée entière, déterminez s’il s’agit ou non d’un nombre Cyclops.
Qu'est-ce qu'un numéro de cyclope, vous pouvez demander? Eh bien, c'est un nombre dont la représentation binaire n'en a qu'un 0
au centre!
Cas de test:
Input | Output | Binary | Explanation
--------------------------------------
0 | truthy | 0 | only one zero at "center"
1 | falsy | 1 | contains no zeroes
5 | truthy | 101 | only one zero at center
9 | falsy | 1001 | contains two zeroes (even though both are at the center)
10 | falsy | 1010 | contains two zeroes
27 | truthy | 11011 | only one zero at center
85 | falsy | 1010101 | contains three zeroes
101 | falsy | 1100101 | contains three zeroes
111 | falsy | 1101111 | only one zero, not at center
119 | truthy | 1110111 | only one zero at center
Contribution:
Un nombre entier ou équivalent. (
int
,long
,decimal
, Etc.)Supposons que si l’évaluation de l’entrée entraîne un dépassement d’entier ou d’autres problèmes indésirables, cette entrée n’a pas à être évaluée.
Sortie:
Vérité ou fausseté.
La sortie Vérité / Falsie doit respecter les spécifications de la langue utilisée pour la vérité / la fausseté. (par exemple, C a
0
la valeur false, non nul la valeur true)
Règles du challenge:
Une entrée inférieure à 0 est supposée être une fausseté et ne doit donc pas être évaluée.
Si la longueur de la représentation binaire du nombre est paire, le nombre ne peut pas être un nombre cyclope.
Règles générales:
C'est du code-golf , donc les réponses les plus courtes en octets sont gagnantes !.
Les failles par défaut sont interdites.
Les règles standard s'appliquent à votre réponse avec les règles d'E / S par défaut .
Il s’agit de mon premier défi de programmation de puzzles et de code de programmation , alors tout commentaire sur la façon dont je devrais m'améliorer serait très apprécié!