看的别人的文章,在此做个模板,上代码:
__int64 quickpow(__int64 x, __int64 n)
{
__int64 b = 1;
while(n > 0)
{
if(n & 1)
b *= x;
n >>= 1;
x *= x;
}
return b;
}
如果需要求对m取模,那么在while循环中每次对b和x取模即可
参考:http://blog.csdn.net/xiahouzuoxin/article/details/8033256