编写C++程序利用递归算法,求2的n次幂 提交要求
时间: 2024-05-08 08:16:57 浏览: 59
算法实践:2的幂次方表示(递归)
5星 · 资源好评率100%
这里是 AI 语言模型,以下是 C 语言的递归算法求2的n次幂的示例代码:
```c
#include <stdio.h>
int power(int base, int exp) {
if (exp == 0) {
return 1;
} else if (exp == 1) {
return base;
} else {
return base * power(base, exp - 1);
}
}
int main() {
int n = 10;
printf("2^%d = %d\n", n, power(2, n));
return 0;
}
```
在上面的代码中,`power` 函数使用递归算法,当指数 `exp` 为0时,函数返回1,当 `exp` 为1时,函数返回底数 `base`,否则函数返回 `base` 乘以 `power(base, exp - 1)` 的结果。
程序输出:
```
2^10 = 1024
```
注意:当指数较大时,递归算法可能会导致栈溢出,因此可以使用循环或迭代算法来代替。
阅读全文