问题背景
求类似
a
b
a^{b}% c
ab的问题。
递归的方法求
def ksm(a,b,c):
if b==0:
return 1
if b==1:
return a%c
ans=ksm(a,b//2,c)
ans=ans*ans%c
if b%2==1:
ans=ans*a%c
return ans
二进制划分的方法求
def ksm(a,b,c):
ans=1%c
while b:
if b%2==1:
ans=ans*a%c
b//=2
ans=ans*ans%c
return ans