10-剑指offer: 数值的整数次方

时间:2024-07-22 23:33:38

题目描述

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

代码

class Solution {
public:
double Power(double base, int exponent) {
if (exponent==0) return 1; bool neg = false; if (exponent < 0) {
exponent *= -1;
neg = true;
} double rs = 1;
int index = exponent/2;
while(index > 0) {
rs = rs*base*base;
index /= 2;
} if(exponent%2==1)
rs = rs*base; if (neg)
rs = 1/rs; return rs; }
};

需要注意的是指数可能会是负数,在做的时候需要小心。