牛客网_剑指offer_数值的整数次方_c++

题目描述

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

解题思路

题目十分简单,只需要对应指数的三种情况分别求解即可,具体情况的解析放在注释当中了,简单易懂。
具体代码如下:

class Solution 
{
public:
    double Power(double base, int exponent) 
    {
        double res = 0;
        //指数为0
        if (exponent == 0) return 1;
        
        //指数为正
        if (exponent > 0)
        {
            res = 1;
            for (int i = 0; i < exponent; i++)
            {
                res = res * base;
            }
            return res;
        }
        
        //指数为负
        if (exponent < 0)
        {
            res = 1;
            for (int i = 0; i < -1 * exponent; i++)
            {
                res = res * base;
            }
            res = 1 / res;
            return res;
        }
        return -1;  //代表出错了
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_40349531/article/details/89514338