以下是一个使用迭代函数来计算指数的示例代码:
def power(base, exponent):
result = 1
if exponent < 0:
base = 1 / base
exponent = -exponent
while exponent > 0:
if exponent % 2 == 1:
result *= base
base *= base
exponent //= 2
return result
这个函数的工作原理是,它通过迭代将幂指数分解为二进制形式,并根据指数的每个位数来计算结果。如果指数的某个位数为1,则将当前的基数乘以结果;如果指数的某个位数为0,则仅将基数平方。最后返回结果。
例如,调用 power(2, 3)
将返回 8,因为 2 的 3 次幂是 8。
这个方法的时间复杂度是 O(log(n)),其中 n 是指数的大小。