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

题目:

给定一个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 > 0 ? exponent : -exponent;
        for(int i = 1; i <= e; ++i)
            res *= base;
        return exponent > 0 ? res : 1 / 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;
  }
}
原文地址:https://www.cnblogs.com/silentteller/p/11868543.html