【模板】快速幂取模
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 }
时间: 2024-12-17 08:42:52