Возведение в степень с помощью рекурсии - C (СИ)
Формулировка задачи:
программа должна возводить в целую (положительную и отрицательную) степень действительного числа с использованием рекурсии
Решение задачи: «Возведение в степень с помощью рекурсии»
textual
Листинг программы
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
double degree(double a, double b, double c)
{
if (b==0)
return 1;
else if(b>1)
return degree(a*c, b-1,c);
else if (b<-1)
{
a=abs(a);
return degree(a*c, b+1, c);
}
else
return a;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double a,b,c,d;
printf("Введите число а \t");
scanf("%lf", &a);
printf("\nВведите степень b \t");
scanf("%lf", &b);
c=a;
d=degree(a,b,c);
if (b<0)
printf("\n а^b=%.5lf", 1/d);
else
printf("\n а^b=%.5lf", d);
getch();
}