Напишите программу на Python, которая проверяет, является ли введённое натуральное число степенью двойки. Если число является степенью двойки, программа должна выводить саму эту степень. В противном случае, программа должна выводить "нет". Входной формат: одно целое число. Выходной формат: одно целое число (показатель степени) или строка "нет". Пример ввода: 302231454903657293676544 Пример вывода: 78
Аида
Для решения этой задачи нам понадобится использовать логаритмы.
Программа должна проверять, является ли введенное число степенью двойки. Для этого мы будем вычислять логарифм числа по основанию 2. Если результат будет являться целым числом, то это означает, что введенное число является степенью двойки, и мы выведем этот показатель степени. В противном случае, мы выведем строку "нет".
Вот код программы на Python:
Теперь, если мы вводим число 302231454903657293676544, программа выведет число 88, так как это является 2 в 88-й степени. Если бы мы ввели, например, число 100, то программа вывела бы "нет", так как 100 не является степенью двойки.
Программа должна проверять, является ли введенное число степенью двойки. Для этого мы будем вычислять логарифм числа по основанию 2. Если результат будет являться целым числом, то это означает, что введенное число является степенью двойки, и мы выведем этот показатель степени. В противном случае, мы выведем строку "нет".
Вот код программы на Python:
python
import math
def check_power_of_two(n):
power = math.log2(n)
if power.is_integer():
return int(power)
else:
return "нет"
# Считываем входное число
number = int(input("Введите натуральное число: "))
# Проверяем, является ли число степенью двойки
result = check_power_of_two(number)
# Выводим результат
print(result)
Теперь, если мы вводим число 302231454903657293676544, программа выведет число 88, так как это является 2 в 88-й степени. Если бы мы ввели, например, число 100, то программа вывела бы "нет", так как 100 не является степенью двойки.
Знаешь ответ?