数值的整数次方

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

注意若指数为负,需要先进行转换。套用快速幂

 1 class Solution {
 2 public:
 3     double Power(double base, int exponent) {
 4         double res=1.0;
 5         if(base==1||exponent==0) return 1;
 6         if(base==0) return 0;
 7         if(exponent<0) base=1/base;
 8         exponent=abs(exponent);
 9         while(exponent!=0){
10             if(exponent%2==1) res=res*base;
11             base=base*base;
12             exponent=exponent/2;
13         }
14         return res;
15     
16     }
17 };

 

posted @ 2015-08-25 17:52  鸭子船长  阅读(116)  评论(0编辑  收藏  举报