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.
challenge icon

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

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

Сбросить код
def isPowerOfTwo(n):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

n = 16

Ожидаемый вывод

true