码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-16 13:15:02      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:temp   style   类型   条件   浮点数   amp   power   return   off   

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. 数值的整数次方

标签:temp   style   类型   条件   浮点数   amp   power   return   off   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!