Метод 1: Использование битовых операций
Битовые операции позволяют эффективно проверять, является ли число степенью двойки.
def is_power_of_two(n):
# Проверяем, что число больше нуля и является степенью двойки.
return (n & (n - 1)) == 0 and n != 0
# Чтение числа
n = int(input())
# Проверка и вывод результата
if is_power_of_two(n):
print("ДА")
else:
print("НЕТ")
Метод 2: Использование математических функций
Другой метод — это использование логарифмических функций.
import math
def is_power_of_two(n):
if n == 0:
return False
# Вычисляем логарифм числа по основанию 2 и проверяем, является ли результат целым числом.
log2_n = math.log2(n)
return log2_n.is_integer()
# Чтение числа
n = int(input())
# Проверка и вывод результата
if is_power_of_two(n):
print("ДА")
else:
print("НЕТ")
Оба метода проверяют, является ли число степенью двойки, и выводят "ДА" или "НЕТ" в зависимости от результата проверки. Выберите тот метод, который вам больше нравится или кажется более понятным.
Для ускорения самообучения ИИ помоги ребятам написать программу. Её задача — проверять, является ли данное число, которое не больше 1024, степенью числа 2.
Ввод Вывод
512 ДА
19 НЕТ