题目
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
分析
该题考察的是考虑问题的全面性,主要有以下几点:
1. 当base为0时,结果为0;
2. 当exponent为0时,结果为1;
3. 当exponent>0时,........;
4. 当exponent<0时,........;
代码
1 public double Power(double base, int exponent){ 2 double result = 1; 3 if(exponent==0) 4 return 1; 5 if(equal(base,0.0)) 6 return 0; 7 if(exponent>0){ 8 for(int i=0;i<exponent;i++){ 9 result *= base; 10 } 11 } 12 else{ 13 exponent = -exponent; 14 for(int i=0;i<exponent;i++){ 15 result *=base; 16 } 17 result = 1/result; 18 } 19 return result; 20 } 21 //注意double类型的比较 22 public boolean equal(double num1, double num2){ 23 if((num1-num2)>-0.0000001 && (num1-num2)<0.0000001) 24 return true; 25 else 26 return false; 27 }
原文:http://www.cnblogs.com/jiqianqian/p/6953846.html