2のべき乗かどうかを判定する
ある正の整数 n
が与えられたとき、これが 2 のべき乗であるかどうかを調べる問題です。
入力
入力の最初の行には、整数 n
(2 ≤ n ≤ 10^9) が1つ与えられます。
出力
もし n
が 2 のべき乗であれば Yes
、そうでなければ No
を出力してください。
例
Input | Output |
---|---|
8 | Yes |
17 | No |
2048 | Yes |
ヒント
2 のべき乗(1, 2, 4, 8, 16, 32, 64, …)を2進数で表したとき、どんな特徴があるでしょうか?
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB