快速幂
用于对底数的高次幂求模,例如a32常规运算是a连乘32次,快速幂则计算a2,随后计算a4,a8,a16,a32,只运算了5次,贼快。
ll power(ll a,ll b,ll q) { ll res=1; while(b) { if(b%2) res=res*a%q; b=b/2; a=a*a%q; } return res%q; }
快速幂
用于对底数的高次幂求模,例如a32常规运算是a连乘32次,快速幂则计算a2,随后计算a4,a8,a16,a32,只运算了5次,贼快。
ll power(ll a,ll b,ll q) { ll res=1; while(b) { if(b%2) res=res*a%q; b=b/2; a=a*a%q; } return res%q; }
相关文章: