• 。。。剑指Offer之——数值的整数次方。。。


     1 public double Power(double base, int exponent) {
     2 //        exponent正负都一样,如果为负数,最终结果取倒数
     3 //        为了方便,取其绝对值
     4         int n=Math.abs(exponent);
     5 //        下面两个if是递归终止条件
     6         if(n==0)
     7             return 1;
     8         if(n==1)
     9             return base;
    10 //        分治思想,计算一半的base相乘,n>>1表示n/2
    11         double  result=Power(base,n>>1);
    12 //        result的结果是一半的base相乘,所以得平方
    13         result*=result;
    14 //        判断n是不是奇数,如果是奇数,则最后一位一定是1,那么n跟1相与的结果就是1
    15         if((n&1)==1)
    16 //            如果n是奇数,还要再次乘以一个base
    17             result*=base;
    18 //        如果exponent是负数,最终结果取倒数
    19         if(exponent<0)
    20             result=1/result;
    21         return result;
    22     }
  • 相关阅读:
    一些 好的链接
    图像滤波算法
    minigui中使用ttf字体库流程
    国庆长假归来
    vs2015 快捷键
    R11 u盘不能自动识别
    qt 自定义折线图
    qt QThread
    qt动态库编译和链接
    scons 库文件生成和链接
  • 原文地址:https://www.cnblogs.com/yingmeng/p/10777791.html
Copyright © 2020-2023  润新知