幂函数
/* 实现函数double Power(double base, int exponent),求base的exponent次方。
* 不得使用库函数,同时不需要考虑大数问题。
* 解题思路:
* 考虑输入的取值,base可取负数、零、整数,exponent可取负数、正数、零
* base取零时无论exponent取值为何均返回0
* base取正或取负,计算方法相同都连乘exponent次
* exponent取正计算节果直接返回,exponent取负返回1/计算节果
* exponent为0返回1
*
* */
public class ShuZhiDeZhengShuCiFang {
public static void main(String[] args) {
ShuZhiDeZhengShuCiFangSolution solution = new ShuZhiDeZhengShuCiFangSolution();
System.out.println(solution.myPow(2.00000
,-2));
}
}
class ShuZhiDeZhengShuCiFangSolution {
public double myPow(double x, int n) {
if(x==0) return 0;
if(n==0 || x==1) return 1;
long num = n;
double result = x;
if(n < 0) {
result = 1/result;
x=1/x;
num = -num;
}
for(long i=1;i<num;i++) {
result = result*x;
}
return result;
}
}