離散數學篇
取模運算的性質
詳見連接https://blog.csdn.net/Mtrix/article/details/47087647
快速冪算法
求時間複雜度
int qmi(int m, int k, int p) //calculate m^k%p
{
int rst = 1;
int base = m;
while(k){
if (k&1) //the last bit is 1
rst = (rst * base) % p;
base = (base*base)%p;
k = k>>1;
}
return rst;
}
歐幾里得算法
求兩個正整數的最大公約數,時間複雜度爲
int gcd(int a, int b){
return b ? gcd(b, a%b) : a;
}