次方求模
Posted nioh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了次方求模相关的知识,希望对你有一定的参考价值。
a的n次方余m
for(int i = n; i > 0; i >>= 1, a = a * a % M) if(i & 1) s = s * a % M; cout << s;
时间复杂度为$O(logn)$,相当于把指数转换为二进制再运算。
例如,$5^{11}\%3=5^{1011}\%3=(5^{1000}*5^{10}*5^{1})\%3=((5^{1000}\%3)*(5^{10}\%3)*(5^{1}\%3))\%3$
以上是关于次方求模的主要内容,如果未能解决你的问题,请参考以下文章