6.快速幂(python)
问题描述:
计算a的n次方然后对b求余
问题示例:
2的31次方 % 3 = 2
问题分析:
利用二进制与十进制转换的道理可解决
代码实现:
class Solution:
def fastPower(self, a, b, n):
ans = 1
while n > 0:
if n % 2 == 1:
ans = ans * a % b
a = a * a % b
n = n >> 1
return ans % b
if __name__ == "__main__":
solution = Solution()
a, b, n = map(int, input("请输入非负整数a, b, n:").split(" "))
print("结果为:", solution.fastPower(a, b, n))