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

  • 50
Напишите программу, которая определяет, является ли введённое натуральное число степенью двойки. Если да, то программа должна вывести саму эту степень, если нет - вывести "нет". Формат ввода: одно целое число. Формат вывода: одно целое число (показатель степени) или строка "нет".
Zagadochnyy_Paren
18
Хорошо, вот пошаговое решение задачи:

1. Сначала необходимо ввести натуральное число, которое мы будем проверять на являение степенью двойки. Для этого используем команду ввода.

Введите натуральное число:

2. Затем сохраняем введенное число в переменную для дальнейшей работы с ним.

число = int(input())

3. Далее, определяем переменную "степень" и задаем ей значение 0. Эта переменная будет служить для подсчета степени двойки.

степень = 0

4. Создаем цикл while, который будет выполняться до тех пор, пока введенное число не станет меньше 2.

while число >= 2:

5. Внутри цикла увеличиваем значение переменной "степень" на 1 и делаем "число" равным целочисленному делению "число" на 2.

степень += 1
число = число // 2

6. После окончания цикла введенное число будет содержать остаток, который невозможно разделить на 2. Если полученное число равно 1, то исходное число было степенью двойки, и мы выводим значение переменной "степень". Иначе, если полученное число не равно 1, то исходное число не является степенью двойки, и мы выводим строку "нет".

if число == 1:
print(степень)
else:
print("нет")


Вот готовая программа:

python
print("Введите натуральное число:")
число = int(input())
степень = 0

while число >= 2:
степень += 1
число = число // 2

if число == 1:
print(степень)
else:
print("нет")


Теперь вы можете использовать эту программу для определения, является ли введенное число степенью двойки. Программа будет выводить саму эту степень, или слово "нет", если число не является степенью двойки.