Tarefa:
Dada uma entrada inteira, descubra se é ou não um número Cyclops.
O que é um número do Ciclope, você pode perguntar? Bem, é um número cuja representação binária tem apenas um 0
no centro!
Casos de teste:
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
Entrada:
Um número inteiro ou tipos equivalentes. (
int
,long
,decimal
, Etc.)Suponha que se a avaliação da entrada resultar em um estouro de número inteiro ou em outros problemas indesejáveis, essa entrada não precisará ser avaliada.
Resultado:
Verdade ou falsidade.
A saída verdade / falsidade deve atender às especificações do idioma usado para verdade / falsidade. (por exemplo, C tem
0
como falso, diferente de zero como verdadeiro)
Regras do Desafio:
A entrada menor que 0 é considerada falsa e, portanto, não precisa ser avaliada.
Se o comprimento da representação binária do número for par, o número não poderá ser um número do Ciclope.
Regras gerais:
Isso é código-golfe , então as respostas mais curtas em bytes vencem !.
As brechas padrão são proibidas.
Regras padrão se aplicam à sua resposta com regras de E / S padrão .
Este é o meu primeiro desafio de quebra-cabeças de programação e código de golfe , portanto qualquer feedback sobre como devo melhorar seria muito apreciado!