什么是快速幂算法?如何实现快速幂算法?
时间: 2023-11-25 21:49:30 浏览: 134
快速幂&快速乘算法实现
快速幂算法是一种用于快速计算幂运算的算法,其基本思想是将指数不断折半,将指数的幂转化为多个底数的幂的乘积,从而减少计算量。具体实现方法可以使用递归或循环,下面是两种实现方法的示例:
1. 递归实现快速幂算法
```python
def fast_power(base, exponent, mod):
if exponent == 0:
return 1
elif exponent % 2 == 0:
temp = fast_power(base, exponent // 2, mod)
return (temp * temp) % mod
else:
temp = fast_power(base, (exponent - 1) // 2, mod)
return (base * temp * temp) % mod
```
2. 循环实现快速幂算法
```python
def fast_power(base, exponent, mod):
result = 1
while exponent > 0:
if exponent % 2 == 1:
result = (result * base) % mod
base = (base * base) % mod
exponent //= 2
return result
```
其中,base表示底数,exponent表示指数,mod表示模数,%表示取模运算符。
阅读全文