快速幂

来源:互联网 发布:visi是什么软件 编辑:程序博客网 时间:2024/06/14 17:54

快速幂取余数

long long modpow(long long x,long long n,long long mod){    long long res = 1;    while(n>0)    {        if(n&1)            res  =res *x %mod;        x  = x *x %mod;         n >>= 1;    }    return res;}
    快速幂公式:      typedef long long LL;//视情况定类型      LL fun(LL x, LL n) {          LL res = 1;          while (n > 0) {              if (n & 1)//&按位与判奇偶  4>>1 = 4/2  2<<1 = 2*2                  res = (res*x);//求幂,所以无取模              x = x*x;              n >>= 1;          }          return res;      }  
0 0
原创粉丝点击