long long quickmod(long long a,long long b,long long m) { long long ans = 1; while(b)//用一个循环从右到左便利b的所有二进制位 { if(b&1)//判断此时b[i]的二进制位是否为1 { ans = (ans*a)%m;//乘到结果上,这里a是a^(2^i)%m b--;//把该为变0 } b/=2; a = a*a%m; } return ans; }
Posted ashechol
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了幂求模相关的知识,希望对你有一定的参考价值。
long long quickmod(long long a,long long b,long long m) { long long ans = 1; while(b)//用一个循环从右到左便利b的所有二进制位 { if(b&1)//判断此时b[i]的二进制位是否为1 { ans = (ans*a)%m;//乘到结果上,这里a是a^(2^i)%m b--;//把该为变0 } b/=2; a = a*a%m; } return ans; }
以上是关于幂求模的主要内容,如果未能解决你的问题,请参考以下文章