使用递归函数求x的n次方
时间: 2024-01-22 15:18:31 浏览: 89
RecursiveExponent:递归实现X ^ n
可以使用如下递归函数求x的n次方:
```python
def power(x, n):
if n == 0:
return 1
elif n % 2 == 0:
return power(x**2, n//2)
else:
return x * power(x**2, (n-1)//2)
```
这个函数的思路是:
- 如果n等于0,返回1(任何数的0次方都是1)。
- 如果n是偶数,返回x的n/2次方的平方。
- 如果n是奇数,返回x乘以x的(n-1)/2次方的平方。
这个递归函数的时间复杂度是O(log n),因为每次递归都将指数减半。
阅读全文