其他分享
首页 > 其他分享> > 数论----快速幂

数论----快速幂

作者:互联网

 

 算法:

 

 1 int qmi(int a, int b, int mod)
 2 {
 3     //答案
 4     int res = 1;
 5     //乘数
 6     int mul = a;
 7     while (b)
 8     {
 9         //在二进制下b的第0位是否是1
10         //是1则要乘,否则不要
11         if (b & 1)
12             res = res * 1LL * mul % mod;
13         mul = mul * 1LL * mul % mod;
14         b = b >> 1;
15     }
16     return res;
17 }

 

原理:

《应用》

比如当n为1e9,单纯地使用快速幂还不够,还有用二分递归:

 

标签:qmi,数论,res,----,int,1LL,mul,快速,mod
来源: https://www.cnblogs.com/cilinmengye/p/16589450.html