您的位置:首页 > Web前端

【剑指offer】数值的整数次方

2016-08-08 18:21 525 查看
题目描述

给定一个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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: