при осуществлении каждого шага.)
Рассмотрим еще несколько упражнений, решение которых часто требуется по ходу более сложных вычислений.
Пример #2.
Если в языке программирования отсутствует операция возведения в степень, то программист вынужден сам писать соответствующую процедуру.
Вычислить am (a, m - натуральные числа; будем считать, что вычисляемое значение помещается в 4 байта памяти для целочисленных типов).
Поскольку в нашем распоряжении только операция умножения, то следует организовать циклический процесс умножений.
Очевидный вариант: на каждом шаге цикла умножений участвуют два сомножителя - значение "уже сосчитанного произведения" и "оставшееся", содержащее показатель степени. Показатель степени второго сомножителя уменьшается на 1, а первый сомножитель, соответственно, умножается на основание степени. Ясно, что начав со значения 1 для первого сомножителя, цикл потребует число шагов, равное значению показателя степени m.
Хотелось