首页 > 其他 > 详细

剑指offer 12. 数值的整数次方

时间:2020-03-16 12:47:34      阅读:65      评论:0      收藏:0      [点我收藏+]

12. 数值的整数次方

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0

分析:

0的任何次幂都是0, 非零整数的 0 次幂都是1, 整数的 负数次幂等于 整数的倒数的正数次幂

最后判断指数的 奇 偶,返回不同的值

 1 public class Solution {
 2     public double Power(double base, int exponent) {
 3         // 边界条件
 4         if(base == 0)
 5             return 0;
 6         if(exponent == 0)
 7             return 1;        
 8         if(base == 1)
 9             return 1;
10         
11         // 如果 指数为负数,将底数取倒数,指数编程整数
12         if(exponent < 0){
13             base = 1 / base;
14             exponent = exponent * -1;
15         }
16         
17         double temp = Power(base, exponent / 2);
18         // 如果指数为奇数
19         if((exponent & 1) == 1){
20             return base * temp * temp;
21         }else{        // // 如果指数为偶数
22             return temp * temp;
23         }
24   }
25 }

 

剑指offer 12. 数值的整数次方

原文:https://www.cnblogs.com/hi3254014978/p/12502944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!