算法提高之64位整数乘法
-
核心思想:位运算
- 和快速幂相似 预处理1*a 2*a 4*a …的值
-
#include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; LL qadd(LL a,LL b,LL p) { LL res = 0; while(b) { if(b & 1) res = (res + a) % p; b >>= 1; a = (a + a) % p; } return res; } int main() { LL a,b,p; cin>>a>>b>>p; cout<<qadd(a,b,p)<<endl; }