作者:pyj philippica 链接:http://www.zhihu.com/question/37692782/answ
long long multiply(long long x,long long y,long long p)// x * y % p
{
long long ret = 0;
for(; y; y >>= 1)
{
if(y & 1)ret = (ret + x) % p;
x = (x + x) % p;
}
return ret;
}