剑指Offer——数值的整数次方
1、题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
2、代码实现
package com.baozi.offer; /** * 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 * * @author BaoZi * @create 2019-07-11-11:02 */ public class Offer9 { public static void main(String[] args) { Offer9 offer9 = new Offer9(); double result1 = offer9.Power(2, 3); double result2 = offer9.Power(2, 0); double result3 = offer9.Power(2, -3); System.out.println(result1); System.out.println(result2); System.out.println(result3); } public double Power(double base, int exponent) { //1、先定义一个变量用于保存最终结果 double reslut = 1d; int temp = exponent; //分三种情况考虑:当给定的指数大于0 if (temp > 0) { while (temp > 0) { reslut = reslut * base; temp--; } //当给定的指数等于0 } else if (temp == 0) { reslut = 1; //当给定的指数小于0 } else if (temp < 0) { while (temp < 0) { reslut = reslut * (1 / base); temp++; } } return reslut; } }