快速幂板子

快速幂

ll quick_mod(ll base,ll power,ll mod){//power指数 base底数 
	ll result = 1;
	base%= mod;
	while(power){
		if(power&1){//若为odd 
			result=((result%mod)*(base%mod))%mod;//odd 保留一次 
		}	
		power>>=1;
		base=(base%mod*base%mod)%mod;//%从右向左的双目运算符 所以x*y%mod==X*(y%mod) 
	}
	return result;//最终要全部转化为一次,所以最后必然经过odd判定行,即直接返回result即可 
} 
上一篇:全国中小学信息技术创新与实践大赛NOC之Python编程题解一


下一篇:codeup入门模拟--问题 D: 比较奇偶数个数