#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/7/14 13:52
# @Author : wutiande
def binaryPow(a,b,m):
if b==0:
return 1
if (b%2==1):
return a*binaryPow(a,b-1,m)%m
else:
mul = binaryPow(a,b//2,m)
return mul*mul%m
def binaryPow2(a,b,m):
ans = 1
while b>0:
if (b&1):
ans = ans * a % m
a = a*a%m
b >>=1
return ans
if __name__ == '__main__':
a,b,m = 2,10,1e8
print(binaryPow(a,b,m))
print(binaryPow2(a,b,m))
python快速幂
最新推荐文章于 2022-01-22 22:23:29 发布