本文主要是介绍快速幂运算的一些模板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里用递归和循环两种做法来做。
简单来说,快速幂就是把底数扩大,指数缩小,比如2*2=4;计算2的幂时,就可以转换成4的幂来运算,这样可以避免在计算大的数据时爆int的现象
//递归
int power(int a,int n){int ans;if(n==2) ans=1;else{ans=power(a*a,n/2);if(n%2==1) ans*=a;}return ans;}
//循环
int power(int a,int n){int ans=1;while(n!=0){if(n%2==1) ans=ans*a;n=n/2;a=a*a;}return ans;
}
zhzh
这篇关于快速幂运算的一些模板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!