标签:span cout str class 复杂 strong style out col
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$
标签:span cout str class 复杂 strong style out col
原文地址:https://www.cnblogs.com/nioh/p/12232649.html