zoukankan      html  css  js  c++  java
  • 算法学习记录03-判断输入数字是否是2的整数次幂

    算法学习记录03 判断输入数字是不是2的整数次幂

    需求分析:

    0 肯定不是2的整数次幂

    能不断被2整除直到商1且余数为0的肯定是2的整数次幂

    比如: 8 %2 = 0 8 / 2 = 4

    ​ 4 % 2 = 0 4/2 = 2

    ​ 2%2 = 0 2/2 = 1

    ​ 9 % 2 = 1 9 / 2 = 4.5

    循环到最后商1 且没有余数 肯定是2的整数次幂,否则不是

    function isTwoPower(n){
      if(n<1){
        return false
      }
      let deviceNumer = n;
      
      while(deviceNumber !== 1){
        if(deviceNumber % 2 !== 0){
          return false
        }
       deviceNumber =  deviceNumber / 2 
      }
      return true
    }
    

    最后,上面这个函数的时间复杂度为 O (logn)

  • 相关阅读:
    输出流
    异常处理
    异常限制
    多个受控异常
    跟踪异常传播
    动手动脑练习2
    动手动脑练习
    文件总结
    程序员修炼之道3
    Shell教程 之printf命令
  • 原文地址:https://www.cnblogs.com/angfl/p/14024178.html
Copyright © 2011-2022 走看看