Возведение числа в степень через цикл
💻 Информатика · 8 класс
Возведение в степень повторным умножением
Возведение числа в степень — это многократное умножение числа само на себя. Запись a^n означает «число a, умноженное само на себя n раз». Например, 2^4 = 2·2·2·2 = 16. Число a называют основанием степени, а n — показателем степени. Если в языке программирования нет встроенной операции степени или её использование запрещено по условию задачи, степень легко вычислить с помощью цикла со счётчиком.
Эта задача похожа на вычисление факториала и тоже строится на накоплении произведения. Освоив её, проще понять, как из простых операций умножения собираются более сложные вычисления.
Идея алгоритма
Заводят переменную-накопитель произведения и записывают в неё единицу. Затем в цикле, который повторяется n раз, умножают накопитель на основание a. После всех повторений в накопителе окажется значение a^n. В отличие от факториала, здесь множитель всегда один и тот же — основание степени.
Правило. Накопитель степени начинают с единицы. Тогда после нуля повторений получится a^0 = 1, что соответствует математическому определению.Разобранный пример
# Питон, вычисление a в степени n
a = 2
n = 4
stepen = 1 # накопитель произведения
for i in range(n):
stepen = stepen * a # умножаем на основание
print(stepen) # выведет 16Цикл выполняется ровно n раз. Счётчик i здесь нужен только для подсчёта повторений — само его значение в вычислении не участвует, важно лишь число шагов.
Как растёт накопитель
Проследим значение накопителя на каждом повторении цикла для 2^4.
| Повторение | Действие | stepen |
|---|---|---|
| 1 | 1 · 2 | 2 |
| 2 | 2 · 2 | 4 |
| 3 | 4 · 2 | 8 |
| 4 | 8 · 2 | 16 |
Степени двойки для примера
Степени двойки особенно важны в информатике: они связаны с измерением объёма памяти и системами счисления.
| n | 2^n |
|---|---|
| 0 | 1 |
| 3 | 8 |
| 5 | 32 |
| 8 | 256 |
| 10 | 1024 |
Что будет при нулевом показателе
Если показатель степени равен нулю, цикл не выполнится ни разу, и в накопителе останется начальная единица. Это правильно: любое число в нулевой степени равно единице. Именно поэтому начальное значение единица так удобно — оно само по себе даёт верный ответ для случая a^0, и не приходится отдельно обрабатывать этот случай.
Частая ошибка. Накопитель начинают с нуля, и тогда любое произведение остаётся нулём. Для степени и факториала стартовое значение — всегда единица. Ещё одна ошибка — перепутать число повторений цикла и получить степень на единицу больше или меньше нужной.
Кратко о главном
- Степень
a^n— это умножение числа a само на себя n раз. - Её вычисляют в цикле через накопитель произведения.
- Накопитель начинают с единицы, что даёт верный результат для нулевой степени.
- Цикл повторяется ровно n раз, на каждом шаге умножая на основание.
- Степени двойки важны для измерения памяти и систем счисления.