zoukankan      html  css  js  c++  java
  • 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;
    }
    

      

  • 相关阅读:
    VS code 配置 PySide6的UI开发环境
    Python及PySide6学习网址
    NOIP2021模拟赛10.12 题解
    P2388 阶乘之乘 题解
    P3992 [BJOI2017]开车
    「NOIP2021模拟赛四 B」Polyline 题解
    P7115 [NOIP2020] 移球游戏 题解
    P7114 [NOIP2020] 字符串匹配 题解
    P3391 【模板】文艺平衡树 题解
    致夏天
  • 原文地址:https://www.cnblogs.com/QianDingwei/p/10924016.html
Copyright © 2011-2022 走看看