1. 程式人生 > >快速冪取餘(大數運算/演算法優化)

快速冪取餘(大數運算/演算法優化)

快速冪取餘
  1. int PowerMod(int a, int b, int k)
    {
    
        int ans = 1;
        a = a % k;
        while(b>0))
        {
        if(b % 2 == 1)//如果是奇數
        ans = (ans * a) % k;//因為它的指數是1所以不再降冪,於是將單獨的那個數先拿出來乘上
        a = (a * a) % k;//每降一次冪
        }
    return ans;
    }