lowbit(x)

news2024/9/30 21:30:07

返回x的最右边的一位1以及后面的所有数

 x = 1010 lowbit(x) = 10
 x = 101000  lowbit(x) = 1000

一个整数的负数是补码(取反+1)

应用:

求二进制中1的个数

题目

给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1的个数。

输入格式

第一行包含整数 n。

第二行包含 n个整数,表示整个数列。

输出格式

共一行,包含 n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1的个数。

数据范围

1≤n≤100000, 0≤数列中元素的值≤109

输入样例:

5 1 2 3 4 5

输出样例:

1 1 2 1 2

lowbit() 使用 lowbit操作,每次 lowbit 操作截取一个数字最后一个1后面的所有位,每次减去 lowbit 得到的数字,直到数字减到0,就得到了最终1的个数

 #include <iostream>
 ​
 using namespace std;
 ​
 int lowbit(int  x)
 {
     return x & (-x);
 }
 ​
 int main()
 {
     int n;
     cin >> n;
     while (n--)
     {
         int x;
         cin >> x;
         //while(x) == > 当x不等于0的时候
         int res = 0;
         while (x)
         {
             x -= lowbit(x);
             res++;
         }   
         cout << res;
     }
 ​
     return 0;
 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uvm_config_db 和 uvm_resource_db :

uvm_config_db class my_driver extends uvm_driver;int my_param;function new(string name, uvm_component parent);super.new(name, parent);endfunctionvirtual task run_phase(uvm_phase phase);// 在组件内部获取配置值if (!uvm_config_db#(int)::get(this, ""…

python3 pyside6图形库学习笔记及实践(四)

目录 前言列表控件(QListWidget)创建列表增删插改查添加元素插入元素删除元素修改元素查找元素 常用信号和槽currentItemChangeditemChangedclear 列表排序列表的上下文菜单 图形视图框架简介框架核心图元类(QGraphicsItem)场景类(QGraphicsScene)视图类(QGraphicsView)交互机制…

守护数据安全:有效应对.hmallox勒索病毒的策略

引言 近年来&#xff0c;随着网络技术的飞速发展&#xff0c;勒索病毒成为网络安全领域的一大威胁。其中&#xff0c;.hmallox勒索病毒作为malox勒索软件家族的新变种&#xff0c;给个人和企业带来了极大的数据安全和经济损失风险。本文将对.hmallox勒索病毒进行详细介绍&…

机器学习用python还是R,哪个更好?

机器学习领域中&#xff0c;Python和R都是非常流行的编程语言&#xff0c;它们各有优势和特点&#xff1a; Python: 优势: 拥有丰富的库和框架&#xff0c;如scikit-learn、TensorFlow、PyTorch等&#xff0c;适合各种级别的机器学习任务。语法简洁清晰&#xff0c;易于学习。社…

3DM游戏运行库合集离线安装包2024最新版

3DM游戏运行库合集离线安装包是一款由国内最大的游戏玩家论坛社区3DM推出的集成式游戏运行库合集软件&#xff0c;旨在解决玩家在玩游戏时遇到的运行库缺失或错误问题。该软件包含多种常用的系统运行库组件&#xff0c;支持32位和64位操作系统&#xff0c;能够自动识别系统版本…

LeetCode每日一题_572.另一棵树的子树

解题思路&#xff1a; Step1:首先我们要知道如何判断两颗树相同&#xff0c;思路就是遍历每个节点&#xff0c;然后判断是否均相等&#xff0c;需要用递归来实现。代码如下所示&#xff1a; public static boolean equals(TreeNode t1,TreeNode t2){if(t1null&&t2null…

[Java]面向对象,从浅到深

快速入门 计算机的核心作用就是处理数据, 变量用来存储单个数据, 数组用来储存一批数据, 对象用来存储一类数据 什么是对象: 对象就是一种特殊的数据结构, 在java中万物皆对象 面相对象编程的好处: 更加符合人类思维习惯 类和实例对象 在java中必须先设计类, 才能根据类创…

git学习入门1——下载安装与添加用户标识设置name与Email

想法是这样的&#xff0c;先是自己工作闲暇之余在学习C语言&#xff0c;在跟一个某平台的机构学习C语言的基础知识&#xff0c;空闲之余学习了几天&#xff0c;想起了之前学习过程中某学员提出的git每日提交代码的那个表格记录&#xff0c;忽然想起自己也先学习git的使用。 先是…

三、初识工作流

基础操作 拖动操作&#xff0c;按住鼠标左键可以拖动 放大缩小&#xff0c;可以通过鼠标滚轮操作 节点含义 1、大模型 2、正向与负向提示词(生成图片的文字信息) 3、图片尺寸设定&#xff08;批次大小为每次生产图片数量&#xff09; 4、采样器 5、图片渲染 6、保存图像 设…

Reed-Solomon纠错码——RS(255,251)学习及实现

1、基础知识 1.1 有限域 有限域_百度百科​​​​​​ 伽罗华域&#xff08;Galois Field&#xff09;上的四则运算_模2的伽罗华域乘法-CSDN博客 1.2 RS&#xff08;255,251&#xff09; 里德-所罗门码&#xff08;一种前向错误更正的信道编码&#xff09;_百度百科 本原…

Spring面试篇章——IOC

IOC概念和原理 IOC概念 IOC就是控制反射&#xff0c;把对象创建和对象之间的调用过程&#xff0c;交给Spring进行管理使用IOC的目的&#xff1a;降低耦合度 IOC底层原理 xml解析、工厂模式、反射 图解&#xff1a; 原始模式 耦合度太高了&#xff0c;即当dao改了&#xf…

UWB实操:使用 litepoint 收发UWB信号

使用 litepoint 收发UWB信号 把信号线接到 litepoint 的RF1 和RF2。 注意&#xff1a; RF1 支持 VSG(TX) 和VSA(RX)RF2 只支持 VSG(TX)同一时间只能一个 VSG(TX) 双击 LED STATUS&#xff0c;改变RF1和RF2的模式。 RF1&#xff1a;VSA(RX) RF2&#xff1a;VSG(TX) Techno…

学习笔记--算法(双指针)3

快乐数 . - 力扣&#xff08;LeetCode&#xff09; 题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无…

8.怎么配嵌套子路由,以及它的作用

作用 配嵌套子路由,就是可以通过同一个页面,让不同的位置发生变化,其他的位置不会发生变化,而做到一个局部刷新 例子 红线框住的部分,头部和导航栏是不会发生变化的,变化的只有中间的内容 子路由的操作步骤 将这个页面的头部和导航栏部分的样式和风格,移到主路由上(<tem…

111页PPT某大型制造业ERP转型规划方案

德勤为大型制造业ERP转型规划方案提供了一系列的策略和步骤&#xff0c;这些策略和步骤旨在帮助企业实现数字化转型&#xff0c;提升业务效率和竞争力。 以下是德勤提出的关键点 &#xff1a;资料下载方式&#xff0c;请看每张图片右下角信息 1. 流程规划&#xff1a;德勤首先…

企业级业务架构设计:指南解析

引言 在数字化转型的浪潮中&#xff0c;企业业务架构的设计成为了连接企业战略与技术实现的桥梁&#xff0c;其重要性日益凸显。本文将深入探讨企业级业务架构的设计原则、流程、工具和技术实现&#xff0c;并结合具体案例&#xff0c;为读者提供详尽的实战指导。通过结合《企…

GAZEBO之MyRobot建立

GAZEBO之MyRobot建立 1. 源由2. 示例Step 1: 新建一个简单世界Step 2: 新建一个模型(model)Step 3: 机器人组成链接(Links)Step 3.1: 新增底盘(Links/Chassis)Step 3.1.1: 惯性属性(Inertial properties)Step 3.1.2: 视觉(Visual)Step 3.1.3: 碰撞(Collision) Step 3.2: 新增左…

PointNet和PointNet++论文解读

目录 一、导言 二、PointNet介绍 三、PointNet网络结构 1、损失函数 2、正则化 四、PointNet 1、分层次的点集抽象层 一、导言 PointNet来自CVPR2017&#xff0c;是最早直接处理点云数据用于计算机视觉的模型&#xff0c;并运用于分割、检测、场景理解任务&#xff0c;P…

celery简单使用

1. 框架介绍 Celery是一个强大的异步任务队列/作业队列框架, 它主要用于处理大量消息, 同时为操作提供稳定可靠的消息传输机制. Celery的分布式特性允许任务分散到多个计算节点上并行处理, 从而提高系统的可扩展性, 可靠性和性能. Celery使用消息代理(如: RabbitMQ, Redis)来实…

【Linux】win 环境下进行 linux开发

文章目录 IDE 安装Python开发创建一个新项目安装 Python、pip 和 venv创建虚拟环境&#xff08;建议&#xff09;运行Python 参考文章 想要win 环境下进行 linux开发&#xff0c;需要依赖于wsl。wsl安装可参考上篇文章 【Linux】wsl win安装Linux环境 这里主要介绍在 linux下…