剑指Offer-12.数值的整数次方(C++/Java)

时间:2023-03-08 15:44:03

题目:

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

分析:

注意base为0和exponent为负数的情况即可,通过连乘来求幂。

程序:

C++

class Solution {
public:
double Power(double base, int exponent) {
if(base == 0.0)
return 0.0;
double res = 1.0;
int e = exponent > ? exponent : -exponent;
for(int i = ; i <= e; ++i)
res *= base;
return exponent > ? res : / res;
}
};

Java

public class Solution {
public double Power(double base, int exponent) {
if(base == 0.0)
return 0.0;
double res = 1.0d;
int e = exponent > 0 ? exponent : -exponent;
for(int i = 1; i <= e; ++i)
res *= base;
return exponent > 0 ? res : 1 / res;
}
}