题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
首先,我觉得这道题思路应该很简单,幂的情况无非是三种:正数、0和负数。当幂是0的时候,直接返回1;当幂是负数的时候,需要先把其转化为正数来处理,然后返回其倒数就可以了;当幂是正数的时候,按照正常的计算方法就可以。实际上这道题主要考察时代码的健壮性——就是对幂的情况的考虑是否周全
package com.gpl.offer.jianzhi; /** * Created by gpl on 2016/8/8. */ public class PowerofN { //数的整数次方 public double power(double base,int n){ double result = 1; if(n == 0) return 1; else if(n >0){ for(int i=0;i<n;i++) result =result*base; return result; }else{ n = -n; for(int i=0;i<n;i++) result = result*base; return 1/result; } } public static void main(String[] args){ double d = new PowerofN().power(-2,-3); System.out.println(d); } }