实例要求:
- 1、请你实现C库函数 pow()(
stdio.h & math.h
) ,即计算 x 的整数 n 次幂函数
(即x^n
); - 2、函数声明:
double myPow(double x, int n);
- 参数:
- 1、x --> 代表
基数
的值; - 2、n --> 代表
指数
的值; - 返回值:
- 函数myPow返回x 的整数 n 次幂函数;
案例展示:
实例分析:
- 1、从指数
n
的正负值以及奇偶性
入手; - 2、当
n小于0
时,返回1/(x * myPow(x,-(n + 1)))
; - 3、当
x等于1或者n等于0
时,返回1
; - 4、当
n是偶数
时,返回myPow(x * x, n/2)
; - 5、当
n是奇数
时,返回x * myPow(x * x,(n - 1) / 2)
;
示例代码:
double myPow(double x, int n) {
if(x == 1 || n == 0)
{
return 1;
}
if(n < 0)
{
return 1/(x * myPow(x,-(n + 1)));
}
if(n % 2 == 0)
{
return myPow(x * x, n/2);
}
return x * myPow(x * x,(n - 1) / 2);
}
运行结果: