时间限制:1秒
空间限制:32768K
热度指数:208968
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
解题的思路如下:
1.创建for循环,进行用例的绝对值次循环,每一次都将做 乘自己的运算(*=)
2.判断用例正负,如果是负,就将1得出的结果取倒数,如果为证跳过直接输出结果。
思路就是这样,代码如下:
public class Solution { public double Power(double base, int exponent) { double result = 1.00; if(exponent == 0){ return result; } for(int i = 0 ; i < Math.abs(exponent) ; i++){ result *= base; } //为什么判断小于0时候的算法可以运行, 因为它在for的下边,程序从上到下运行,如果小于0 只要把指数运算交给大于零时候,最后去倒数就可以了。 但是if写在for的上面的话,就不会取倒。 if(exponent < 0 ){ result = 1/result; } return result; } }