快速幂:
1 long long quickpow(long long m, long long n, long long k) 2 { 3 long long res = 1; 4 while (n > 0) 5 { 6 if (n & 1) 7 res = (res * m) % k; 8 m = (m * m) % k; 9 n = n >> 1; 10 } 11 return res; 12 }
快速加:
1 long long quickplus(int m, int n, int k) 2 { 3 long long res = 0; 4 while (n > 0) 5 { 6 if (n & 1) 7 res = (res + m) % k; 8 m = (m + m) % k; 9 n = n >> 1; 10 } 11 return res; 12 }
参考链接:http://www.cnblogs.com/qscqesze/p/5129856.html