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

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