为了账号安全,请及时绑定邮箱和手机立即绑定

算法学习记录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)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
28
获赞与收藏
163

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消