Проверка числа на степень двойки в Python
Информатика

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

Напишите программу на языке Python, которая будет определять, является ли заданное целое число степенью двойки. Если число является степенью двойки, программа должна вывести данную степень. В противном случае программа должна вывести сообщение "нет". Формат ввода - одно целое число. Формат вывода - либо целое число (степень), либо строка "нет". Пример ввода: 302231454903657293676544. Пример вывода: 78. Напишите решение на языке Python.
Верные ответы (1):
  • Мистический_Жрец
    Мистический_Жрец
    9
    Показать ответ
    Тема: Проверка числа на степень двойки в Python

    Описание: Чтобы проверить, является ли заданное целое число степенью двойки, мы можем использовать битовые операции. Если число является степенью двойки, то оно будет иметь только один установленный бит.

    Программа будет осуществлять следующие шаги:
    1. Принимает ввод от пользователя в виде целого числа.
    2. Проверяет, является ли число меньше или равным нулю. Если да, то выводит "нет" и завершает программу.
    3. Использует побитовое логическое И (&) между числом и его предыдущим значением (число - 1). Если результат равен нулю, то число является степенью двойки.
    4. Если число является степенью двойки, программа вычисляет степень двойки, используя логарифм по основанию 2.
    5. Выводит результат - либо степень двойки, либо "нет".

    Пример:
    python
    number = int(input("Введите целое число: "))

    if number <= 0:
    print("нет")
    else:
    if (number & (number - 1)) == 0:
    power = int(math.log2(number))
    print(power)
    else:
    print("нет")


    Совет: При решении этой задачи, важно помнить, что число должно быть целым. Также, не забудьте импортировать модуль math, чтобы использовать функцию log2.

    Задача для проверки: Напишите программу на Python, которая проверяет, является ли число 512 степенью двойки.
Написать свой ответ: