求double类型的n次方

剑指offer系列面试题

	package com.study;
	/*
	 * 数值的整数次方
	 * 要求:实现函数 double Power(double base, int exponent) 求base的exponent次方
	 * */
	public class suanfa9 {
		public static double Power(double base, int exponent) {
			
			double result = 1.0;
			if(Math.abs(base - 0.0) < 0.000001) //防止出现底数为0
				return base;
			
			if(exponent < 0) {
				return 1/Power(base, Math.abs(exponent));
			}
			
			if(exponent == 0) {
				result = 1;
			}
			while(exponent > 0) {
				result = result*base;
				exponent --;
			}
			
			
			return result;
		}
		
		public static void main(String[] args) {
			System.out.println(Power(0,-6));
		}
	}

备注:

1.在Java里,求绝对值,用静态类Math,这是包含在java.lang包的。

2.判断两个double数是否相等,不能用 == 号,只能在绝对值的基础上取差值。

3.求指数幂的时候,应该想到负整数和0这两种特殊情况。

posted @ 2015-07-05 10:54  高适  阅读(669)  评论(0编辑  收藏  举报