Напишите программу на языке Python, которая будет определять, является ли заданное целое число степенью двойки. Если
Напишите программу на языке Python, которая будет определять, является ли заданное целое число степенью двойки. Если число является степенью двойки, программа должна вывести данную степень. В противном случае программа должна вывести сообщение "нет". Формат ввода - одно целое число. Формат вывода - либо целое число (степень), либо строка "нет". Пример ввода: 302231454903657293676544. Пример вывода: 78. Напишите решение на языке Python.
17.12.2023 10:36
Описание: Чтобы проверить, является ли заданное целое число степенью двойки, мы можем использовать битовые операции. Если число является степенью двойки, то оно будет иметь только один установленный бит.
Программа будет осуществлять следующие шаги:
1. Принимает ввод от пользователя в виде целого числа.
2. Проверяет, является ли число меньше или равным нулю. Если да, то выводит "нет" и завершает программу.
3. Использует побитовое логическое И (&) между числом и его предыдущим значением (число - 1). Если результат равен нулю, то число является степенью двойки.
4. Если число является степенью двойки, программа вычисляет степень двойки, используя логарифм по основанию 2.
5. Выводит результат - либо степень двойки, либо "нет".
Пример:
Совет: При решении этой задачи, важно помнить, что число должно быть целым. Также, не забудьте импортировать модуль math, чтобы использовать функцию log2.
Задача для проверки: Напишите программу на Python, которая проверяет, является ли число 512 степенью двойки.