模板 快速幂取模

【模板】快速幂取模

 

 1 long long quickmod(long long a,long long b,long long m)
 2 {
 3     long long ans = 1;
 4     while(b)//用一个循环从右到左便利b的所有二进制位
 5     {
 6         if(b&1)//判断此时b[i]的二进制位是否为1
 7         {
 8             ans = (ans*a)%m;//乘到结果上,这里a是a^(2^i)%m
 9             b--;//把该为变0
10         }
11         b/=2;
12         a = a*a%m;
13     }
14 
15     return ans;
16 
17 }
原文地址:https://www.cnblogs.com/jeff-wgc/p/4473379.html