• 12数值的整数次方


    题目描述

     
    给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
     
    思路:
    使用递归,时间复杂度O(logn)
    • 当n为偶数,a^n =(a^n/2)*(a^n/2)
    • 当n为奇数,a^n = a^[(n-1)/2] * a^[(n-1)/2] * a
    1 public class Solution {
    2     public double Power(double base, int exponent) {
    3         if(exponent==1) return base; 
    4         if(exponent==-1) return 1/base; 
    5         if(exponent==0) return 1; 
    6         double res = Power(base,exponent>>1);
    7         return (exponent &0x01)==0? res*res:base*res*res;
    8     }
    9 }
    c++:20180807
     
     1 class Solution {
     2 public:
     3     double Power(double base, int exponent) {
     4             if(exponent==1) return base;
     5             if(exponent==-1) return 1/base;
     6             if(exponent==0) return 1;
     7             double res = Power(base,exponent>>1);
     8             if(exponent &1) return res*res*base;
     9             else return res*res;
    10     }
    11 };

  • 相关阅读:
    CSS—BFC学习
    JS函数声明及函数表达式相关
    你想要的正则表达式笔记
    WordPress搭建自己的网站
    声纹识别
    WordPress搭建自己的网站
    L--jsp和servlet
    L--网页跳转
    L1--指针
    L--Java关键字final、static
  • 原文地址:https://www.cnblogs.com/zle1992/p/7791678.html
Copyright © 2020-2023  润新知