快速冪
問題描述:
計算a ** n % b 其中a、b和n都是32位的非負整數
即求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 / 2
return ans % b
if __name__ == '__main__':
solution = Solution()
print(solution.fastPower(2, 31, 3))
實現結果

