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

 

posted @ 2019-11-15 17:55  silentteller  阅读(246)  评论(0编辑  收藏  举报