任务:
给定一个整数输入,找出它是否是一个独眼巨人数。
您可能会问,什么是独眼巨人号码?嗯,这是一个数字,其二进制表示0
的中间只有一个!
测试用例:
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
输入:
整数或等效类型。(
int
,long
,decimal
等)假定如果评估输入结果导致整数溢出或其他不良问题,则不必评估该输入。
输出:
真实或虚假。
真实/虚假输出必须符合所用语言的真实/虚假规范。(例如,C的
0
值为false,非零的值为true)
挑战规则:
小于0的输入被认为是虚假的,因此不必进行评估。
如果数字的二进制表示形式的长度为偶数,则该数字不能为独眼巨人数字。
通用规则:
这是代码高尔夫球,因此最短答案以字节为单位!
禁止默认漏洞。
标准规则适用于具有默认I / O规则的答案。
这是我的第一个程序设计难题和代码高尔夫挑战赛,因此,对我应该如何改进的任何反馈将不胜感激!