<pre name="code" class="java">package cn.john.lesson_01;
/**
* 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
*
* @author john
*
*/
/*
* 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
* 分析:主要考虑周全
* 1、 exponent = * 0的情况
* 2,exponent > 0 的情况
* 3,exponent < 0 的情况
*
*/
public class PowerDemo {
public static void main(String[] args) {
}
public double Power(double base, int exponent) {
double result = 0.0;
if (exponent == 0) {
return 1;
} else {
if (exponent > 0) {
result = PowerPositiveExponent(base, exponent);
} else if (exponent < 0) {
result = PowerPositiveExponent(base, -exponent);
result = 1.0 / result;
}
}
return result;
}
public static double PowerPositiveExponent(double base, int exponent) {
double result = 1.0;
for (; exponent > 0; exponent /= 2) {
if (exponent % 2 == 1) {
result *= base;
}
base *= base;
}
return result;
}
}
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
最新推荐文章于 2021-04-28 21:50:55 发布