7.
Быстрое возведение в степень
Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями:
\(a^n=(a^2)^{n/2},\ при \ четном \ n, \\ a^n=a \cdot a^{n-1},\ при \ нечетном \ n.\)
Реализуйте алгоритм быстрого возведения в степень. Если вы все сделаете правильно, то сложность вашего алгоритма будет O(logn) .
Входные данные
Программа получает на вход вещественное число a и целое число n. Каждое число в отдельной строке.
Выходные данные
Выведите
\(a^n\).
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
2
7 |
128 |
| 2 |
1.00001
100000 |
2.71827 |
Запрещенные операторы: for; while; until; math; **; pow
Напишите программу
Auto