请使用递归编写一个power函数来进行幂运算,也就是说power(x,n)返次即可,回x的n次幂的值。并举个例子
时间: 2024-01-24 09:16:47 浏览: 15
好的,以下是递归实现的power函数:
```python
def power(x, n):
if n == 0:
return 1
elif n % 2 == 0:
return power(x*x, n/2)
else:
return x * power(x, n-1)
```
这个函数首先判断n是否为0,如果是则返回1。如果n是偶数,则递归调用power(x*x, n/2);如果n是奇数,则递归调用power(x, n-1)。通过这样的递归调用,可以将幂运算转化为乘法运算,从而得到x的n次幂的值。
举个例子,假设要计算2的4次幂,即2^4,可以调用power(2, 4),得到16。
相关问题
请使用递归编写一个power()函数来进行幂运算,也就是说power(x,n)返回x的n次幂的值。
好的,以下是使用递归实现的power()函数的代码:
```python
def power(x, n):
if n == 0:
return 1
elif n < 0:
return 1 / power(x, -n)
elif n % 2 == 0:
return power(x * x, n // 2)
else:
return x * power(x, n - 1)
```
这个函数的递归实现思路如下:
- 当n等于0时,x的0次幂等于1,直接返回1;
- 当n小于0时,x的负数次幂等于其倒数的正数次幂,即1/x的-n次幂,所以返回1除以power(x,-n)的值;
- 当n为偶数时,x的n次幂可转化为x^2的n/2次幂,因此递归调用power(x*x, n//2);
- 当n为奇数时,x的n次幂可转化为x*x^(n-1)的值,因此递归调用power(x, n-1)并返回x与其结果的乘积。
其中,双斜杠"//"表示整数除法,即向下取整。
创建一个函数 power 来为任意数字做幂运算,如 n ** i。 提示:递归实现
好的,以下是使用递归实现幂运算的 power 函数的 Python 代码:
```python
def power(n, i):
if i == 0:
return 1
elif i == 1:
return n
elif i < 0:
return 1 / power(n, -i)
else:
return n * power(n, i-1)
```
函数接收两个参数,n 和 i,代表幂运算的底数和指数。如果指数 i 等于 0,那么返回 1,因为任何数的 0 次幂都等于 1。如果指数 i 等于 1,那么返回底数 n,因为任何数的 1 次幂都等于它本身。如果指数 i 小于 0,那么返回 1 除以底数 n 的 -i 次幂,因为任何数的负数次幂等于它的倒数的正数次幂。如果指数 i 大于 1,则计算 n 乘以 n 的 i-1 次幂的结果,也就是通过递归调用 power 函数来实现幂运算。
你可以像这样调用 power 函数:
```python
print(power(2, 3)) # 输出 8
print(power(10, -2)) # 输出 0.01
```