Функция Эйлера и другие задачи теории чисел




Task
Time limit: 1000 ms,
Memory limit: 256 Mb

Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями:
 
an=(a2)n/2 при четном n,
an=a*an−1 при нечетном n.
 
Реализуйте алгоритм быстрого возведения в степень. Если вы все сделаете правильно, то сложность вашего алгоритма будет O(logn) .
 
Входные данные: Вводится действительное число a и целое число n.
Выходные данные: Выведите ответ на задачу.
 
Нельзя использовать стандартное возведение в степень.
 
Входные данные Выходные данные 
1 2
7
128
2
1.00001
100000
2.71827

 

Prohibited statements:pow;**;log

Auto CHOOSE THE PROGRAMMING NECESSARY LANGUAGE!
Attach the program source file:
or enter the source code in the language:

Rules for designing programs and a list of errors during automatic task verification
           

Results: