Menu
CoddyTech

Power of Two

Дано целое число n. Верните true, если n является степенью двойки, то есть n = 2^k для некоторого целого числа k ≥ 0, и false в противном случае. Таким образом, подходят 1, 2, 4 и 8, а 0, 6 и все отрицательные числа — нет.

Функция

isPowerOfTwo(n: integer) → boolean
ninteger
целое число для проверки, которое может быть нулём или отрицательным
Возвращаетboolean
истинно, если n равно 2^k для некоторого k ≥ 0, иначе ложно

Ограничения

  • -231 ≤ n ≤ 231-1

Примеры

Ввод
n = 16
Вывод
true
Пояснение
16 = 2 × 2 × 2 × 2 = 2^4. В двоичной системе это 10000 — один бит со значением 1.

lock icon+17 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Используя те же битовые трюки, можешь ли ты проверить, является ли n степенью четвёрки, без цикла?

Сбросить код
def isPowerOfTwo(n):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

n = 16

Ожидается

true