剑指Offer

剑指Offer——数值的整数次方

2019-05-14  本文已影响0人  KEEPINUP

题目描述

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

时间限制:1秒 空间限制:32768K

代码实现

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

解题思路

题目很简单,就是让我们求一个 double 类型的数的整数次方。这里我们需要考虑 exponent 为 0 和负数还有正数的情况。

任何数的 0 次方结果都为 1:a^0=1

指数为负数的结果和指数为正数的结果互为倒数:a^-n=1/a^n

我们先声明一个 double 类的数 result 为 1,然后对 exponent 取绝对值然后进行 for 循环,每循环一次给 result 乘上一个 base,如果 exponent 是负数的话,对 result 取个倒数。

上一篇下一篇

猜你喜欢

热点阅读