仕事:
整数の入力が与えられたら、それがサイクロプス数であるかどうかを判断します。
Cyclops番号とは何ですか?まあ、それはバイナリ表現0
が中央に1つしかない数値です!
テストケース:
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より小さい入力は偽であると想定されるため、評価する必要はありません。
数値のバイナリ表現の長さが偶数の場合、その数値をシクロプス数にすることはできません。
一般的なルール:
これはcode-golfなので、バイト単位の最短回答が勝ちです!
デフォルトの抜け穴は禁止されています。
デフォルトのI / Oルールを使用した回答には、標準ルールが適用されます。
これは私の最初のプログラミングパズルとコードゴルフのチャレンジなので、どのように改善すべきかについてのフィードバックは大歓迎です!