剑指offer第十二题:数值的整数次方

题目描述

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

 

思路:该题主要考边界went问题,A的n次方,边界有以下情况:

1:n为0时,任意数的n次方均为0

2:A为0时,n>0时,返回0ji即可,但是n<0时,则A^-1方为例,等于1/A,A不能为0,所以这种情况是错误的,返回false

3:A不为0时,但n<0时,这是结果we为A的abs(n)次方的倒数。

代码:

class Solution {
public:
    double Power(double base, int exponent) {
        if(exponent == 0)
        {
            return 1;
        }
        float p = 1;
        if(base == 0 && exponent < 0)
        {
            return false;
        }
        else
        {
            
            for(int i=1;i<=abs(exponent);i++)
            {
                p = p * base;
                
            }
            if(exponent<0)
            {
                p = (float)1/p;
            }
        }
        return p;
    }
};

 

你可能感兴趣的:(剑指offer)