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

C++二级题 计算好数:1数大于0数(二进制的位运算)

1、题目

若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为好数。

例如:

(13)10 = (1101)2,其中1的个数为3,0的个数为1,则此数是好数;

(10)10 = (1010)2,其中1的个数为2,0的个数也为2,则此数不是好数;

(24)10 = (11000)2,其中1的个数为2,0的个数为3,则此数不是好数;

对于给定的N,写程序求出1~N之中(包括1与N)中的好数个数。

时间限制:1000

内存限制:65536

输入

一个整数,题目中的N(N ≤ 1000)

输出

一个整数,表示1~N之中(包括1与N)中的好数个数

样例输入

10

样例输出

5

2、提示

提示:

(1)n>>=1 二进制右移一位

n>>=1‌表示将变量n的二进制表示向右移动一位,并将结果赋值给n。‌

具体来说,n>>=1的操作过程是将n的二进制表示向右移动一位,最右边的位会被丢弃,而最左边的位会填充为0。这个过程相当于将n除以2并取整。例如,如果n=8(二进制表示为1000),那么n>>=1后,n的值将变为4(二进制表示为100)。

这种操作在位运算中非常常见,可以用于各种算法和数据处理中。例如,在统计一个无符号整数的二进制表示中有多少个1时,可以通过连续地将结果左移并添加原始数最右边的位,然后将原始数右移,有效地反转了位。

(2)n&1 用来找二进制最低位数/奇数

在C++中,表达式n&1用于判断n是否为奇数。‌ 

如果n为奇数,n的二进制表示的最低位为1,因此n&1的结果为1;如果n为偶数,n的二进制表示的最低位为0,因此n&1的结果为0。‌

这种判断方法利用了二进制运算的性质。在二进制表示中,奇数的最低位为1,偶数的最低位为0。因此,通过将n与1进行按位与操作(&),可以快速判断n的奇偶性。具体来说,1的二进制表示为000...01,与n进行按位与操作后,只有当n的最低位为1时,结果才为1,否则为0。

(3)比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。

3、代码

#include <bits/stdc++.h>
using namespace std;
bool is_good(int n){int a=0,b=0;while(n){if(n&1) a++;else b++;n>>=1;}return a>b?true:false;
} 
int main(){int n,counts=0;cin>>n;for(int i=1;i<=n;i++)if(is_good(i)) counts++;cout<<counts;return 0;
}

相关文章:

C++二级题 计算好数:1数大于0数(二进制的位运算)

1、题目 若将一个正整数化为二进制数&#xff0c;在此二进制数中&#xff0c;我们将数字1的个数多于数字0的个数的这类二进制数称为好数。 例如&#xff1a; (13)10 (1101)2&#xff0c;其中1的个数为3&#xff0c;0的个数为1&#xff0c;则此数是好数&#xff1b; (10)10 (1…...

数字孪生城市:智慧城市的未来蓝图

在当今数字化时代&#xff0c;智能技术的广泛应用正在改变人们的生活和工作方式。数字孪生城市作为未来新型智慧城市演进的重要方向&#xff0c;数字孪生城市是一种将城市物理世界的各个方面转化为数字形式的技术&#xff0c;通过网络空间与物理世界之间的实时数据交换和仿真分…...

Java篇图书管理系统

目录 前言 一. 图书管理系统的核心 二. 图书管理系统基本框架 2.1 book包 2.1.1 Book&#xff08;书籍类&#xff09; 2.1.2 Booklist (书架类&#xff09; 2.2 user包 2.2.1 User类 2.2.2 Administrator(管理员类) 2.2.3 Visitor&#xff08;用户类&#xff09; 2.…...

BUUCTF之web篇

第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破&#xff08;burpsuite&#xff09; 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码aor true # 在这里单引号的作用是结束用户名或者密码…...

010——二叉树(2)线索化

引入&#xff1a; 问题1&#xff1a; n个节点的二叉树&#xff0c;用二叉链表存储&#xff0c;问在这个二叉链表中一共有 __个指针域? 其中&#xff0c;有 __个指针域不为NULL&#xff0c;__个指针域为NULL? 答&#xff1a;2n n-1 n1 在二叉链表中&#xf…...

鸿蒙拍照小助手02

项目文件目录 为了确保项目文件目录清晰,以下是完整的项目文件目录结构: code 拍照小助手/ │ ├── entry/ │ ├── src/ │ │ ├── main/ │ │ │ ├── js/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...

lua while循环

软考鸭微信小程序 过软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 Lua作为一种小巧精致的语言&#xff0c;特别适用于嵌入其他程序提供脚本支持。在编程中&#xff0c;循环结构是不可或缺的一部分&#xff0c;而while循环则是…...

JAVA篇之类和对象

目录 一. 面向对象 1.1 面向对象和面向过程 二. 类的定义和使用 2.1 什么是类 2.2 类的定义格式 三. 类的实例化 四. this引用 4.1 this引用的作用 五. 构造方法 5.1 构造方法重载 5.2 通过this调用其他构造方法 5.3 默认初始化 结语 一. 面向对象 Java 是一门面向对…...

IO流详解_CoderLix

主要内容 File类IO流字节流字符流异常处理Properties缓冲流转换流序列化流打印流 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示&#xff0c;主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) &#xff1a;通过…...

241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab

A. RHEL非管理员安装Docker 要在没有管理员权限的情况下离线安装 Docker 和 Docker Compose&#xff0c;虽然受到一定限制&#xff0c;仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是&#xff0c;这种方式适用于本地用户环境下的 Docker 安装&#xff0…...

python ubuntu安装加速

ubuntu升级python到python3.11&#xff08;可能是全网最靠谱的方法&#xff0c;亲测有效&#xff09;_ubuntu python3.11-CSDN博客 python-release安装包下载_开源镜像站-阿里云...

100种算法【Python版】第12篇——快速幂算法

本文目录 1 基本原理2 基本步骤3 数学示例4 python代码1 基本原理 快速幂算法(Fast Exponentiation)是一种高效计算整数幂的方法,尤其适用于计算大数的幂。其主要思想是利用分治法和二进制表示来减少乘法运算的次数,从而加快计算速度。 计算 x n x^n x...

Java多线程详解②(全程干货!!!)Thread Runnable

这里是Themberfue 上节主要讲完了多线程的一些基础知识&#xff0c;这节通过代码进一步理解多线程&#x1fae1; 多线程 Java标准库中提供了Thread类&#xff0c;以程序员们编写多线程代码&#xff0c;我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…...

机器学习——图神经网络

图神经网络(GNN)&#xff1a;理解复杂网络数据的有效工具 图神经网络&#xff08;Graph Neural Network, GNN&#xff09;是近年来机器学习领域的热门话题。GNN 以图结构数据为核心&#xff0c;能够高效地捕捉节点和边的复杂关系&#xff0c;广泛应用于社交网络、推荐系统、生…...

一、在cubemx下RTC配置调试实例测试

一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时&#xff0c;注意将时间信息存储起来&#xff0c;防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过&#xff0c;没有则进…...

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin

【Nas】X-DOC&#xff1a;Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像&#xff1a;2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像&#xff1a; docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本&#xff…...

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

文章目录 写在前面图像内容安全图像篡改应用场景伪造文档/证照检测伪造人脸检测 GAI时代系统构建加速通用文档解析 合合信息 写在前面 随着人工智能技术的飞速发展&#xff0c;生成式AI已经悄然步入了我们的日常生活&#xff0c;以其强大的内容生成能力&#xff0c;重塑了信息…...

京东双十一高并发场景下的分布式锁性能优化

背景 在电商领域&#xff0c;尤其是像京东双十一这样的大促活动&#xff0c;系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新&#xff0c;如果处理不当&#xff0c;很容易出现库存超卖、数据不一致等问题。分布式锁作为一种有效的解决方案&#xff0c;能够在多…...

华为ICT题库-AI 人工智能部分

1178、以下哪个选项是华为的云端AI芯片&#xff1f;&#xff08;云服务考点&#xff09; (A)Inferentia (B)MLU100 (C)Cloud TPU (D)Ascend 910 答案&#xff1a;D 解析&#xff1a;华为的云端AI芯片被称为Ascend芯片系列&#xff0c;其中Ascend 910是其旗舰产品。Ascend 910…...

React Native 修改安卓应用图片和名称

在React Native&#xff08;RN&#xff09;项目中&#xff0c;修改安卓应用图标和名称通常涉及对Android原生代码的一些修改。以下是详细步骤&#xff1a; 修改应用图标 准备图标资源&#xff1a; 创建或获取你想要的图标&#xff0c;并确保它们符合Android的图标规范&#xf…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...