这里用递归和循环两种做法来做。
简单来说,快速幂就是把底数扩大,指数缩小,比如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