Дано целое число N (> 0), являющееся некоторой степенью числа 2: N = 2^K. Найти целое число K — показатель этой степени.
Решить задачу используя циклическую конструкцию while.
на языке Python. ​

вампир982 вампир982    3   16.10.2020 02:12    38

Ответы
nastyalomeyko nastyalomeyko  15.11.2020 02:12

n = int(input())

pow = 0

while n != 1:

   n //= 2

   pow += 1

print(pow)

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
pandaokia pandaokia  18.01.2024 13:50
Хорошо, давайте решим эту задачу шаг за шагом:

1. Вначале у нас есть условие, что число N является некоторой степенью числа 2.
Это значит, что существует такое число K, что 2^K равно N.

2. Мы можем использовать циклическую конструкцию while для нахождения показателя K.
Нам нужно продолжать делить N на 2, пока N не станет равным 1.

3. Создаем переменную K и инициализируем ее нулем. Также создаем переменную N и присваиваем ей значение, которое мы получаем входе программы.

4. Начинаем цикл while с условием N > 1. Это условие гарантирует нам, что мы будем выполнять цикл до тех пор, пока N не станет равным 1.

5. Внутри цикла увеличиваем значение K на 1 (K = K + 1) и делим N на 2 (N = N / 2).

6. Когда N становится равным 1, мы выходим из цикла while.

7. Выводим значение переменной K, которое и является показателем степени числа 2.

Теперь, давайте реализуем это на языке Python:

```python
N = int(input("Введите число, являющееся степенью числа 2: "))

K = 0 # Показатель степени

while N > 1:
K = K + 1
N = N / 2

print("Показатель степени равен", K)
```

Теперь, если мы введем число, которое является степенью числа 2 (например, 8), программа выведет 3, потому что 2^3 равно 8.
В случае числа, которое не является степенью числа 2, программа будет выполняться вечно и не выдаст результата.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика