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

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

思路:针对此题首先要分为以下几种情况:
1-base等于0时:结果恒等于0;
2-exponent 等于0时:结果恒等于1;
3-base和exponent都不等于0时:
(1)exponent大于0,那就直接不断使base和base相乘exponent次。
(2)exponent小于0,首先让base和base相乘-exponent,然后在对相乘的结果取倒数。

class Solution {
public:
    double Power(double base, int exponent) {
        if(base==0)
            return 0;
        if(exponent==0)
            return 1;
        double temp;
        double result=1;
        int i=1;
        if(exponent<0)
            temp=-exponent;
        else
            temp=exponent;
        while(i++<=temp){
            result*=base;
        }
        if(exponent<0)
            return 1/result;
        return result;
    }
};
发布了57 篇原创文章 · 获赞 28 · 访问量 4143

猜你喜欢

转载自blog.csdn.net/weixin_41747893/article/details/102253483