【剑指offer】数值的整数次方

题目链接:数值的整数次方

 

题意:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0

 

题解:啊我这个题很暴力啊。当时好像是用java做的。c++也一样的代码。。

分三种情况:

1、指数是0,那么a^0 = 1,直接返回1

2、指数>0,那么直接循环乘指数次。

3、指数<0,那么先把指数变成整数,循环指数次,再置倒数。

 

 

代码:

 1 class Solution {
 2 public:
 3     double Power(double base, int exponent) {
 4         double sum  = base;
 5         if(exponent == 0)    return 1;
 6         else if(exponent > 0){
 7             for(int i = 1;i < exponent;i++){
 8                 sum *= base;
 9             }
10             return sum;
11         }
12         else{
13             exponent*=-1;
14             for(int i = 1;i<exponent;i++){
15                 sum *= base;
16             }
17             sum = 1/sum;
18             return sum;
19         }
20     }
21 };

 

posted @ 2020-03-02 23:27  甜酒果。  阅读(131)  评论(0编辑  收藏  举报