ACM非递归快速幂

看的别人的文章,在此做个模板,上代码:

__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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章