创建一个函数 power 来为任意数字做幂运算,如 n ** i。 提示:递归实现
时间: 2023-08-01 17:11:47 浏览: 177
好的,以下是使用递归实现幂运算的 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
```
相关问题
用python创建一个函数 power 来为任意数字做幂运算,如 n ** i。 提示:递归实现
好的,我可以为你提供一个实现:
```python
def power(n, i):
if i == 0:
return 1
elif i < 0:
return 1 / power(n, -i)
elif i % 2 == 1:
return n * power(n, i-1)
else:
return power(n*n, i//2)
```
这个函数可以计算任意数字的幂运算,包括正数、负数和小数。它使用递归实现,根据指数 i 的奇偶性来减少计算量,从而提高效率。请注意,当 i 小于 0 时,我们先计算 n 的 -i 次方,然后取倒数,这是因为负指数幂的定义是分子为 1,分母为 n 的正指数幂。
用Python创建一个函数power来为任意数字做幂运算,如 n ** i。提示:递归实现。
好的,以下是一个递归实现的幂运算函数:
```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`,表示要计算 `n ** i` 的结果。如果 `i` 等于 0,那么返回 1。如果 `i` 等于 1,那么返回 `n`。如果 `i` 小于 0,那么返回 `1 / (n ** -i)` 的结果(即 `n` 的 `-i` 次方的倒数)。否则,返回 `n` 乘以 `n ** (i-1)` 的结果,也就是递归调用 `power` 函数。
阅读全文