数值的整数次方

来源:互联网 发布:西部世界剧情解析知乎 编辑:程序博客网 时间:2024/05/17 04:32

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

解法1:

利用循环或者递归即可求得。

解法2:

an = a^(n/2) * a^(n/2) (n为偶数)

an = a^(n/2) * a^(n/2) * a(n为奇数)

代码如下:


public class Solution {public double Power(double base, int exponent) {        if (exponent == 0){            return 1;        }else if (exponent  > 0){            double result = base;            for (int i = 1; i < exponent; i++) {                if (result > Double.MAX_VALUE){                    return -1;                }                result *= base;            }            return result;        }else{            double result = 1 / base;            for (int i = 1; i < -exponent; i++) {                if (result < Double.MIN_VALUE){                    return -1;                }                result /= base;            }            return result;        }    }}


                                             
0 0
原创粉丝点击