首页 > 其他分享 >基础位运算:lowbit()

基础位运算:lowbit()

时间:2023-09-26 10:12:52浏览次数:29  
标签:运算 int lowbit 个数 cin 样例 基础 数列

1、以AcWing.801为例,题目要求如下:

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

输入格式
第一行包含整数n。

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

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

数据范围
1≤n≤100000,
0≤数列中元素的值≤10^9

输入样例:
5
1 2 3 4 5
输出样例:
1 1 2 1 2

#include <iostream>
using namespace std;

int lowbit(int x) {
    return x & (-x);
}

int main() {
    int n;
    cin >> n;
    
    while (n--) {
        int x, rec = 0;
        cin >> x;
        
        while (x != 0) {
            x -= lowbit(x);
            rec++;
        }

        cout << rec << ' ';
    }

    return 0;
}

 

标签:运算,int,lowbit,个数,cin,样例,基础,数列
From: https://www.cnblogs.com/karinto/p/17729492.html

相关文章

  • 开源防火墙实战手册(4)-linux/unix基础(3)
    目录配置文件主机名主机名和IP地址的映射域名系统(DNS)解析器配置文件主机名[waterruby@localhost~]$cat/etc/hostnamewaterruby-server主机名和IP地址的映射[waterruby@localhost~]$cat/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4loca......
  • 【笔记】机器学习基础 - Ch6.5-6 Kernel Methods
    6.5Sequencekernels考虑拓展\(K:\calX\timesX\to\mathbb{R}\)到\(\calX\)不是向量空间的情况,例如序列、图像等等。现在令\(\calX\)为字符串的集合,对应的核称为序列核sequencekernels;一种序列核的框架,称为rationalkernels,建立在称为加权转换器weightedtransduce......
  • 运算符
    运算符intc=5;booleana=(c<4)&&(++c<4);//此时因为c<4肯定是false所有在与(&&)运算中结果肯定为false后面的就不执行了System.out.println(c);//这叫短路运算c还是等于5System.out.println(a);intsum=10;intsum2=20;System.out.println(sum+s......
  • NumPy:Python科学计算基础包
    NumPy是Python科学计算的基础包,几乎所有用Python工作的科学家都利用了的强大功能。此外,它也广泛应用在开源的项目中,如:Pandas、Seaborn、Matplotlib、scikit-learn等。Numpy全称NumericalPython。它提供了2种基本的对象:ndarray与ufunc。ndarray是存储单一数据的多维数组,它......
  • 【C++】动态内存管理 ⑤ ( 基础数据类型数组 内存分析 | 类对象 内存分析 | malloc 分
    文章目录一、基础数据类型数组内存分析1、malloc分配内存delete释放内存2、new分配内存free释放内存二、类对象内存分析1、malloc分配内存delete释放内存2、new分配内存free释放内存博客总结:C语言中使用malloc分配的内存,使用free进行释放;C++语言中......
  • Vue3 基础 – 快速上手 & 常用指令
    1.在HTML网页中使用vue3的3个基本步骤a.通过 script 标签的 src 属性,在当前网页中全局引入vue3的脚本文件:<scriptsrc="https://unpkg.com/vue@3/dist/vue.global.js"></script>b.创建vue3的单页面应用程序实例://2.1从Vue对象中解构出createApp函数const{cre......
  • docker基础命令快速入门
    docker快速入门Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。Docker的三个概念镜像Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数。......
  • Python爬虫基础(五):使用scrapy框架
    文章目录系列文章索引一、scrapy简介1、什么是scrapy2、scrapy安装3、scrapy架构组成4、scrapy工作原理二、scrapy基本使用1、创建项目2、创建爬虫文件3、(附)项目组成4、运行爬虫代码(1)修改baidu.py(2)robots文件5、response的属性和方法6、实战:获取百度的【百度一下】按钮的内容7、实......
  • Python爬虫基础(四):使用更方便的requests库
    文章目录系列文章索引一、requests库的使用1、官方文档2、安装requests库3、简单使用4、使用get请求5、使用post请求6、使用代理二、实战1、实战:实现古诗文网的登录(1)找到登录页面(2)登录操作需要的数据(3)获取隐藏域中的数据(4)获取验证码图片(5)登录操作(6)获取我的收藏2、实战:使用超级鹰验......
  • Azure Data Factory(九)基础知识回顾
    一,引言在本文中,我们将继续了解什么是AzureDataFactory,AzureDataFactory的工作原理,AzureDataFactory数据工程中的数据管道,并了解继承运行时-----IR。--------------------我是分割线--------------------1,AzureDataFactory(一)入门简介2,AzureDataFactory(二)复......