当前位置: 首页 > news >正文

确定一个数字是否为 2 的幂

#include <iostream>
using namespace std;
bool er(long long n)
{
  if(n<=0)
  {
    return false;
  }
  return (n&(n-1))==0;
}
/*
bool er(long long n)
{
    if(n<=0)
    {
        return false;
    }
    while(n>1)
    {
        if(n%2!=0)
            {
                return false;}
        n/=2;
    }
    return true;
}
*/

int main()
{
  // 请在此输入您的代码
  long long n;
  cin>>n;
  if(er(n))
  {
    cout<<"YES";
  }
  else{
    cout<<"NO";
  }

  return 0;
}

确定一个数字是否为 2 的幂

题目描述

实现一个算法确定一个数字 NN 是否为 2 的幂。

若该数字是 2 的幂则输出 YES,否则输出 NO

输入描述

输入一个数字 N (1≤N≤108)N (1≤N≤108)。

输出描述

输出一行,若 NN 是 2 的幂则输出 YES,否则输出 NO

输入输出样例

示例

输入

8

输出

YES

相关文章:

  • 为什么 Young GC 比 Full GC 快
  • 北京迅为iTOP-RK3568开发板OpenHarmony系统南向驱动开发实操-HDF驱动配置LED
  • Muduo库的简介与使用
  • Java常用算法
  • 使用Fluent-bit将容器标准输入和输出的日志发送到Kafka
  • 序列化和反序列化TCP粘包问题
  • 性能调优与抓包分析:TCP三次握手、CDN优化与Wireshark实战
  • 【Git】配置Git
  • 软考计算机知识-流水线
  • 【云原生】动态资源分配(DRA)深度洞察报告
  • 技术速递|Visual Studio Code 2025年2月更新(v1.98)
  • 网络华为HCIA+HCIP数据链路层协议-以太网协议
  • 手写一个简易版的tomcat
  • 解释VLA和具身智能之间的关系
  • 神经网络中常用语言特性(python)(待完善)
  • 视创云展:打造沉浸式体验环境,助力企业线上营销
  • 【multisim设计一个数控脉宽脉冲信号发生器电路图】2022-9-14
  • Linux》Ubuntu》Docker >>安装中文版GitLab compose
  • Modbus TCP到RTU:轻松转换指南!
  • [Java实战]性能优化qps从1万到3万
  • 新华每日电讯:博物馆正以可亲可近替代“高冷范儿”
  • 上海一保租房社区亮相,首批546套房源可拎包入住
  • 从能源装备向应急装备蓝海拓展,川润股份发布智能综合防灾应急仓
  • 蚊媒传染病、手足口病……上海疾控发布近期防病提示
  • 排污染黑海水后用沙土覆盖黑泥?汕尾环保部门:非欲盖弥彰
  • 为何发胖?如何减肥?一个医学体重管理中心的探索启示