Menu
CoddyTech

Power of Two

やさしいビット演算python iconjava iconcpp iconc iconjs icon+10

整数 n が与えられます。n が2の累乗、つまりある非負整数 k ≥ 0 に対して n = 2^k である場合は true を返し、それ以外の場合は false を返してください。したがって、1、2、4、8 は該当しますが、0、6、およびすべての負の数は該当しません。

関数

isPowerOfTwo(n: integer) → boolean
ninteger
テストする整数。0 または負の数の場合もあります
戻り値boolean
ある k ≥ 0 について n が 2^k に等しい場合は true、それ以外の場合は false

制約

  • -231 ≤ n ≤ 231-1

例

入力
n = 16
出力
true
説明
16 = 2 × 2 × 2 × 2 = 2^4。2進数では 10000 で、1ビットだけが1です。

lock icon提出時に隠しテスト+17件

challenge icon

発展問題

同じビット演算のテクニックを使って、ループを使わずにnが4のべき乗かどうか判定できますか?

コードをリセット
def isPowerOfTwo(n):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

n = 16

期待値

true