首页 > 其他 > 详细

剑指offer 数值的整数次方

时间:2016-03-16 22:20:38      阅读:165      评论:0      收藏:0      [点我收藏+]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Solution {
public:
    double Power(double base, int exponent) {
        int isOdd;
        if(0.0==base)return 0;
        if(exponent>0)
        {}
        else if(exponent<0)
        {
            exponent=-exponent;
            base=1.0/base;
        }
        else
            return 1;
          
        if(exponent==1)return base;
          
        if(exponent &0x01 )isOdd=1;//指数是奇数
        int times;
        if(isOdd)
            times=log(exponent-1)/log(2);
        else
            times=log(exponent)/log(2);
          
        double result=base;
        while(times--)
        {
            result=result*result;
        }
        if(isOdd)
            result=result*base;
          
        return result;
    }
};

剑指offer 数值的整数次方

原文:http://www.cnblogs.com/zhxshseu/p/5285163.html

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