二分乘法

来源:互联网 发布:sub数学 知乎 编辑:程序博客网 时间:2024/05/01 17:38
二分乘法 1 #define LL __int64 2   3 //计算 a*b % mod 4 LL Produc_Mod(LL a, LL b, LL mod) { 5        LL sum = 0; 6        while(b) { 7               if(b & 1) sum = (sum + a) % mod; 8               a = (a + a) % mod; 9               b >>= 1;10        }11        return sum;12 }13  14  15 //计算a^b % mod16 LL Power(LL a, LL b, LL mod) {17        LL sum = 1;18        while(b) {19               if(b & 1) sum = Produc_Mod(sum, a, mod);20               a = Produc_Mod(a, a, mod);21               b >>= 1;22        }23        return sum;24 }
0 0