算法与数据结构-数论之模幂运算

模幂运算

基本原理:(a×b)mod c=((a mod c)×b)mod c

通常都是先将幂模运算转化为乘模运算。
a^b%n的代码如下:

int expMod(int a,int b,int n){
     int r=1;
     while(b){
         if(b&1)r=(r*a)%n;
         a=(a*a)%n;
         b>>=1;        
     }
     return r;
 }

附:根据离散数学书上说的,邻接矩阵A的k次幂得到的新矩阵B中,bij表示ai到aj长度为k的通路数。

你可能感兴趣的:(算法与数据结构,数据结构,算法,c)