【剑指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 };