c++递归代码求x的n次方
时间: 2024-03-06 19:52:16 浏览: 77
cpp代码-(递归)计算某个数的e次方
以下是计算x的n次方的C++递归代码:
```c++
#include <iostream>
using namespace std;
double power(double x, int n) {
if (n == 0) {
return 1.0;
}
if (n < 0) {
return 1 / power(x, -n);
}
double half = power(x, n / 2);
if (n % 2 == 0) {
return half * half;
} else {
return half * half * x;
}
}
int main() {
double x;
int n;
cout << "请输入x和n:" << endl;
cin >> x >> n;
cout << x << "的" << n << "次方是:" << power(x, n) << endl;
return 0;
}
```
该递归函数与前面提供的非递归函数的思路相同,使用快速幂算法计算x的n次方,但是使用递归实现。在处理负数幂时,直接返回1/power(x, -n)即可。
阅读全文