编写递归函数方法求x的n次方
时间: 2024-06-13 12:07:57 浏览: 124
x的n次方递归函数
以下是C语言中递归函数方法求x的n次方的代码:
```c
#include <stdio.h>
double power(double x, int n) {
if (n < 0) {
printf("n < 0, data error!");
return 0;
}
if (n == 0) {
return 1;
}
if (n == 1) {
return x;
}
if (n % 2 == 0) {
return power(x * x, n / 2);
} else {
return x * power(x * x, (n - 1) / 2);
}
}
int main() {
double x, y;
int n;
scanf("%lf,%d", &x, &n);
y = power(x, n);
printf("%lf\n", y);
return 0;
}
```
该函数使用了递归的思想,将x的n次方转化为x的n/2次方的平方,或者x的(n-1)/2次方的平方再乘以x。这样可以减少计算量,提高效率。
阅读全文