快速幂取余(大数运算/算法优化)

快速幂取余

  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;
    }

你可能感兴趣的:(算法,优化,ACM,大数运算)