指数求模运算

#include " iostream "
#include
" stdio.h "
#include
" stdlib.h "

using   namespace  std;


 
int  PowerModul( int  a, int  b, int  N)
 {      
int  r,r1,r0;   
        r
= 1 ; r1 = a % N;
          
for ( int  q = 0 ; q <= 31 ;q ++ )
          { 
if ((b & 1 ) == 1 ) r = (r * r1) % N;
             r1
= (r1 * r1) % N; b >>= 1
          }
          
return  r;
 }
 
int  main()
 {
    
int  a,b,N;
    
while (scanf( " %d%d%d " , & a, & b, & N))
         printf(
" %d\n " ,PowerModul(a,b,N));
     
return   0 ;
 }

你可能感兴趣的:(指数求模运算)