#快速幂算法
#问题描述
这道题的常规解法很简单,简单的一个循环就能搞定
/**
*普通的求幂函数
*@Param base 底数
*@Param power 指数
*@return 求幂结果是最后三位表示的整数
**/
public int normalPow(long base, long power){
long result = 1;
for(int i=1;i<=power;i++){
result *= base;
}
return result%1000;
}
上面这种方式确实很简单,但当指数特别大时long型数据也无法存取那么大的数,所以此种方法不可取。又由取余运算的法则:两数相乘取余等于两数分别取余进行相乘再取余。此种方法的代码如下
/**
*普通的求幂函数
*@Param base 底数
*@Param power 指数
*@return 求幂结果是最后三位表示的整数
**/
public int normalPow(long base, long power){
long result = 1;