编写一个函数实现n的k次方,使用递归实现。
解题思路
分三种情况返回:
k = 0 时,n = 1
k > 0 时,n^k = n * n^(k-1)
k < 0 时,n^k = 1.0 / n^(-k)
代码
#include <stdio.h>
double Pow(int n, int k)
{
if (k == 0)
return 1;
else if (k > 0)
return n * Pow(n, --k);
else
return 1.0 / Pow(n, -k);
}
int main()
{
int n = 0;
int k = 0;
scanf("%d %d", &n, &k);
double ret = Pow(n, k);
printf("%lf", ret);
return 0;
}