一. 快速幂入门

相关博客:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

https://www.cnblogs.com/CXCXCXC/p/4641812.html

https://www.cnblogs.com/vincent-hwh/p/5990331.html

二进制位运算:

由于是二进制,很自然地想到用位运算这个强大的工具:&和>>     

&运算通常用于二进制取位操作,例如一个数 & 1 的结果就是取二进制的最末位。 还可以判断奇偶x&1==0为偶,x&1==1为奇。 >>运算比较简单二进制去掉最后一位
 1 int poww(int a,int b)
 2 {
 3     int base=a;
 4     long long ans=1;
 5     while(b>0)
 6     {
 7         if(b&1!=0)//判断为奇数 
 8         ans*=base;
 9         base*=base;
10         b>>=1;//位运算,类似于开平方根,但是对b=1处理时b>>=1,b的值是0,若是平方仍为1 
11     }
12     return ans; 
13 }
 1 int poww(int base,int b,int mod)  //(base^b)%mod 
 2 {
 3     long long ans=1;
 4     while(b>0)
 5     {
 6         if(b&1!=0)//判断为奇数 
 7         ans=(ans*base)%mod;
 8         base=(base*base)%mod;
 9         b>>=1;//位运算,类似于开平方根,但是对b=1处理时b>>=1,b的值是0,若是平方仍为1 
10     }
11     return ans; 
12 }

二.取模运算的性质:

(1)(a+b)%c=(a%c+b%c)%c
(2)(ab)%c=(a%c)(b%c)%c 

相关题目:

Noip2013TG D1T1转圈游戏

只需解出 ans=(x+m*10^k)%n

Bzoj1008越狱

 只需解出ans=m^n-m*(m-1)^(n-1)

   https://blog.csdn.net/qq_24489717/article/details/51120679 https://www.cnblogs.com/CXCXCXC/p/4641812.html https://blog.csdn.net/yu121380/article/details/79900385 https://www.xuebuyuan.com/3259372.html https://www.cnblogs.com/lqsukida/p/10161157.html https://www.jianshu.com/p/25eba927d9da

 

  

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄