数值的整数次方

ryluo 2020-06-24 21:00:18

实现函数double Power(double base, int exponent),求baseexponent次方。

不得使用库函数,同时不需要考虑大数问题。

注意:

样例1

输入:10 ,2

输出:100

样例2

输入:10 ,-2  

输出:0.01

注意:

一个数的负数次方等于该数的整数次方再取导数,比如,$10^{-2}=\frac{1}{10^2}$

当底数为0的时候为什么指数一定要是正数呢,通过上面的公式就知道,如果指数是负数的话,那么分母就等于0了,显然是不可以的。

class Solution {
public:
    double Power(double base, int exponent) {
        double res = 1.0;
        for (int i = 0; i < abs(exponent); i++) res *= base;
        if (exponent < 0) return 1 / res;
        return res;
    }
};