Быстрая степень
Как уже было отмечено, проблема легко решается только в случае если показатель степени, сам есть степень двойки. Но если если это не так, то идею необходимо немного усовершенствовать. Мы будем строить общий алгоритм на следующих очевидных утверждениях:
1) Если в выражении an n=2m (то есть четно) то an =(a*a)m и таким образом показатель степени уменьшается вдвое.
2) Если в выражении an n=2m+1 (то есть нечетно) то an =(an-1)*a таким образом показатель степени уменьшается на 1 и приводится к четному числу.
АЛГОРИТМ
Входные данные: ОСНОВАНИЕ, ПОКАЗАТЕЛЬ
Очередной показатель = ПОКАЗАТЕЛЬ
Результат = 1
Вычисленная степень = ОСНОВАНИЕ
Пока Очередной показатель не ноль делать
Начало
Если Очередной показатель есть четное число
То Очередной показатель = Очередной показатель/2
Вычисленная степень = Вычисленная степень * Вычисленная степень
Иначе
Очередной показатель = Очередной показатель -1
Результат = Результат * Вычисленная степень
Конец
Распечатать значение результата