Задача №252. Степень для отрицательного показателя
Напишите рекурсивную функцию, возводящую число a в степень n. Гарантируется, что все числа "помещаются" в стандартные вещественные (a и ответ) и целые [[no]] типы.
Входные данные
Вводится 2 числа - a и n (число n может быть отрицательным).
Выходные данные
Необходимо вывести значение a в степени n
Примеры
2 -1
0.5
ПАСКАЛЬ
ПАСКЛАЬ
Answers & Comments
Verified answer
Function st(a:real;n:integer):real;begin
if n=0
then st:=1
else if n<0 then st:=1/st(a,abs(n))
else st:=a*st(a,n-1);
end;
var x:real; k:integer;
begin
write('x = ');
readln(x);
write('k = ');
readln(k);
writeln(x,' ^ ',k,' = ',st(x,k));
end.
Пример:
x = 2
k = -3
2 ^ -3 = 0.125