本文主要是介绍快速模幂法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用于求解 a 的 b 次方,而b是一个非常大的数,用O(n)的复杂度会超时,这时就需要使用O(logn)的复杂度的快速模幂法进行求解
typedef long long ll;
ll fun(ll x,ll n,ll mod)
{ll res=1;while(n>0){if(n&1)//相当于 if(n%2==1) res=(res*x)%mod;x=(x*x)%mod;n>>=1;//相当于n=n/2; }return res;}
练习:
51Nod_1046 A^B Mod C【水题】
这篇关于快速模幂法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!