题目
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
链接
代码
1 class Solution { 2 public: 3 double Power(double base, int exponent) { 4 if(exponent == 0){ 5 return 1; 6 } 7 int i = 1; 8 double ans = base; 9 int exp = exponent > 0 ? exponent:-exponent; 10 for(;i < exp; ++ i){ 11 ans *= base; 12 } 13 if(exponent < 0){ 14 return 1.0 / ans; 15 } 16 return ans; 17 } 18 };
问题:没有考虑非法输入,如果base等于0.0,并且exponent小于0时需要报错。再者,浮点数比较大小时不能使用==比较,应该使用<=和>=控制精度范围。参考博客。
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号