Степени двойки

Напишите функцию, которая будет принимать число и проверять, можно ли его записать в виде числа 2 в какой-нибудь степени.

Примеры

power_of_two(32) ➞ True

power_of_two(1) ➞ True

power_of_two(18) ➞ False

Варианты решения

def power_of_two(num):
    while num > 1:
        num /= 2

    return num == 1
from math import log

def power_of_two(num):
    return log(num, 2).is_integer()
def power_of_two(num):
    return (num & (num - 1)) == 0
Прокрутить вверх