• 9、数值的整数次方------------>剑指offer系列


    数值的整数次方

    给定一个double类型的浮点数baseint类型的整数exponent。求baseexponent次方。

    思路

    这道题逻辑上很简单,但很容易出错

    关键是要考虑全面,考虑到所有情况

    exponent 是正,负,0的情况

    base0的情况

    代码

      function Power(base, exponent) {
          if (exponent === 0) {
            return 1;
          } else {
            if (exponent > 0) {
              var result = 1;
              for (let i = 0; i < exponent; i++) {
                result *= base;
              }
              return result;
            } else if (exponent < 0) {
              var result = 1;
              for (let i = 0; i < Math.abs(exponent); i++) {
                result *= base;
              }
              return result ? 1 / result : false;
            }
          }
        }
    

    法二 思路:

    代码

    const invalidFlag=false
    function Power(base, exponent)
    {
        // write code here
        if(base===0&&exponent<0)
        {
            invalidFlag=true;
            return 0;
        }
        const abs_exponent=exponent>0?exponent:-exponent;
        let result=PowerWithExponent(base, abs_exponent);
        if(exponent<0){
            return 1.0/result;
        }
        return result;
        
    }
    function PowerWithExponent(base, abs_exponent){
        if(abs_exponent===0)
            return 1;
        if(abs_exponent===1)
            return base;
        let result=PowerWithExponent(base,Math.floor(abs_exponent/2))
        result*=result;
        if(abs_exponent%2===1)
            result*=base;
        return result;
    }
    

      

  • 相关阅读:
    spring注解事务管理
    Spring切入点表达式常用写法
    JPA和事务管理
    maven仓库
    struts2拦截器
    js中 转义字符
    jquery中变量加$和不加$有什么区别!
    spring大乱炖
    第一章 java多线程
    CS:APP 05 笔记
  • 原文地址:https://www.cnblogs.com/QianDingwei/p/10924016.html
Copyright © 2020-2023  润新知