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

2021 年 9 月青少年软编等考 C 语言五级真题解析

目录

  • T1. 问题求解
    • 思路分析
  • T2. 抓牛
    • 思路分析
  • T3. 交易市场
    • 思路分析
  • T4. 泳池
    • 思路分析

T1. 问题求解

给定一个正整数 N N N,求最小的 M M M 满足比 N N N 大且 M M M N N N 的二进制表示中有相同数目的 1 1 1

举个例子,假如给定 N N N 78 78 78,二进制表示为 100   1110 100\ 1110 100 1110,包含 4 4 4 1 1 1,那么最小的比 N N N 大的并且二进制表示中只包含 4 4 4 1 1 1 的数是 83 83 83,其二进制是 101   0011 101\ 0011 101 0011,因此 83 83 83 就是答案。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入若干行,每行一个数 N   ( 1 ≤ N ≤ 1 0 6 ) N\ (1 ≤ N ≤ 10^6) N (1N106),如果这行为 0 0 0 表示输入结束。
  • 输出
    对于每个 N N N,输出对应的 M M M
  • 样例输入
    1
    2
    3
    4
    78
    0
    
  • 样例输出
    2
    4
    5
    8
    83
    

思路分析

此题考查枚举算法与数位分离,属于入门题。

首先计算出 n n n 的二进制形式中 1 1 1 的个数。然后从 n + 1 n+1 n+1 开始依次枚举,寻找与 n n n 的二进制形式中 1 1 1 的个数相等的第一个数字即可。

/** Name: T1_1.cpp* Problem: 问题求解* Author: Teacher Gao.* Date&Time: 2025/01/08 23:50*/#include <iostream>using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(0);int n;while (cin >> n && n) {int p = n, cnt = 0;while (p) {p &= p - 1;cnt++;}while (1) {p = ++n;int cnt2 = 0;while (p) {p &= p - 1;cnt2++;}if (cnt2 == cnt) {cout << n << "\n";break;}}}return 0;
}

从二进制的角度考虑,要保证比 n n n 大,且二进制形式中 1 1 1 的数量不变,相当于让某一个 1 1 1 向左移动一位。容易想到向左移动的这个 1 1 1 的左边必须是 0 0 0,那么我们可以从最低位 1 1 1 开始向左寻找,当发现某一位是 0 0 0 的时候,将它右边那个 1 1 1 移动过来即可。但是这样仍然不是最小的,我们需要将这一位右边的 1 1 1 全都移动到最低位才能满足最小。观察示例中 78 78 78 83 83 83 的二进制形式,可以更好地理解这一点。

最优策略既然已经分析出来了,那么只要找到那个合适的 1 1 1,答案便是固定的。首先通过 n & -n 可以求出 n n n最低位 1 1 1 的位权,从这一位开始向左寻找第一位 0 0 0,同时统计 1 1

相关文章:

2021 年 9 月青少年软编等考 C 语言五级真题解析

目录 T1. 问题求解思路分析T2. 抓牛思路分析T3. 交易市场思路分析T4. 泳池思路分析T1. 问题求解 给定一个正整数 N N N,求最小的 M M M 满足比 N N N 大且 M M M 与 N N N 的二进制表示中有相同数目的 1 1 1。 举个例子,假如给定 N N N 为 78 78 78,二进制表示为 …...

洛谷网站: P3029 [USACO11NOV] Cow Lineup S 题解

题目传送门&#xff1a; P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言&#xff1a; 这道题的核心问题是在一条直线上分布着不同品种的牛&#xff0c;要找出一个连续区间&#xff0c;使得这个区间内包含所有不同品种的牛&#xff0c;…...

编程领域的IO模型(BIO,NIO,AIO)

目前对于市面上绝大多数的应用来说&#xff0c;不能实现的业务功能太少了。更多的是对底层细节&#xff0c;性能优化的追求。其中IO就是性能优化中很重要的一环。Redis快&#xff0c;mysql缓冲区存在的意义。都跟IO有着密切关系。IO其实我们都在用&#xff0c;输入输出流这块。…...

DeepSeek和ChatGPT的对比

最近DeepSeek大放异彩&#xff0c;两者之间有什么差异呢&#xff1f;根据了解到的信息&#xff0c;简单做了一个对比。 DeepSeek 和 ChatGPT 是两种不同的自然语言处理&#xff08;NLP&#xff09;模型架构&#xff0c;尽管它们都基于 Transformer 架构&#xff0c;但在设计目标…...

Pyqt 的QTableWidget组件

QTableWidget 是 PyQt6 中的一个表格控件&#xff0c;用于显示和编辑二维表格数据。它继承自 QTableView&#xff0c;提供了更简单的方式来处理表格数据&#xff0c;适合用于需要展示结构化数据的场景。 1. 常用方法 1.1 构造函数 QTableWidget(parent: QWidget None)&#x…...

4. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务设计原则与最佳实践

相比传统的单体应用&#xff0c;微服务架构通过将大型系统拆分成多个独立的小服务&#xff0c;不仅提升了系统的灵活性和扩展性&#xff0c;也带来了许多设计和运维上的挑战。如何在设计和实现微服务的过程中遵循一系列原则和最佳实践&#xff0c;从而构建一个稳定、高效、易维…...

网络安全威胁框架与入侵分析模型概述

引言 “网络安全攻防的本质是人与人之间的对抗&#xff0c;每一次入侵背后都有一个实体&#xff08;个人或组织&#xff09;”。这一经典观点概括了网络攻防的深层本质。无论是APT&#xff08;高级持续性威胁&#xff09;攻击、零日漏洞利用&#xff0c;还是简单的钓鱼攻击&am…...

树和二叉树_7

树和二叉树_7 一、leetcode-102二、题解1.引库2.代码 一、leetcode-102 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 样例输入&#xff1a;root [3,9,20,null,nu…...

不同标签页、iframe或者worker之间的广播通信——BroadcastChannel

BroadcastChannel是一个现代浏览器提供的 API&#xff0c;用于在同一浏览器的不同浏览上下文&#xff08;如不同的标签页、iframe 或者 worker&#xff09;之间进行消息传递。它允许你创建一个广播频道&#xff0c;通过该频道可以在不同的浏览上下文之间发送和接收消息。 Broa…...

开源CodeGPT + DeepSeek-R1 是否可以替代商业付费代码辅助工具

开源CodeGPT + DeepSeek-R1 是否可以替代商业付费代码辅助工具 背景与研究目的 在快速发展的软件开发领域,代码辅助工具已成为提高开发效率和质量的关键。然而,商业付费工具如通义灵码和腾讯AI代码助手,尽管功能强大,但其高昂的成本和许可证限制,使得许多企业寻求更具吸…...

AUTOSAR汽车电子嵌入式编程精讲300篇-基于FPGA的CAN FD汽车总线数据交互系统设计

目录 前言 汽车总线以及发展趋势 汽车总线技术 汽车总线发展趋势 CAN FD总线国内外研究现状 2 系统方案及CAN FD协议分析 2.1系统控制方案设计 2.2 CAN FD总线帧结构分析 2.2.1数据帧分析 2.2.2远程帧分析 2.2.3过载帧分析 2.2.4错误帧分析 2.2.5帧间隔分析 2.3位…...

STC51案例操作

案例 1&#xff1a;LED 闪烁 功能描述&#xff1a;通过操作 P1 口寄存器&#xff0c;让连接在 P1.0 引脚的 LED 以一定间隔闪烁。 #include <reg51.h>// 延时函数 void delay(unsigned int time) {unsigned int i, j;for (i 0; i < time; i)for (j 0; j < 123; …...

多光谱技术在华为手机上的应用发展历史

2018 年&#xff0c;华为 P20 系列首次搭载 5 通道色温传感器&#xff0c;可帮助手机在不同光照条件下保持画面色彩一致性。 2020 年&#xff0c;华为 P40 系列搭载 8 通道多光谱色温传感器&#xff08;实际为 11 通道&#xff0c;当时只用 8 个通道检测可见光&#xff09;&am…...

C语言:函数栈帧的创建和销毁

目录 1.什么是函数栈帧2.理解函数栈帧能解决什么问题3.函数栈帧的创建和销毁的过程解析3.1 什么是栈3.2 认识相关寄存器和汇编指令3.3 解析函数栈帧的创建和销毁过程3.3.1 准备环境3.3.2 函数的调用堆栈3.3.3 转到反汇编3.3.4 函数栈帧的创建和销毁 1.什么是函数栈帧 在写C语言…...

NLP_[2]_文本预处理-文本数据分析

文章目录 4 文本数据分析1 文件数据分析介绍2 数据集说明3 获取标签数量分布4 获取句子长度分布5 获取正负样本长度散点分布6 获取不同词汇总数统计7 获取训练集高频形容词词云8 小结 4 文本数据分析 学习目标 了解文本数据分析的作用.掌握常用的几种文本数据分析方法. 1 文…...

【工具篇】深度揭秘 Midjourney:开启 AI 图像创作新时代

家人们,今天咱必须好好唠唠 Midjourney 这个在 AI 图像生成领域超火的工具!现在 AI 技术发展得那叫一个快,各种工具层出不穷,Midjourney 绝对是其中的明星产品。不管你是专业的设计师、插画师,还是像咱这种对艺术创作有点小兴趣的小白,Midjourney 都能给你带来超多惊喜,…...

从O(k*n)到O(1):如何用哈希表终结多层if判断的性能困局

【前言】   本文将以哈希表重构实战为核心&#xff0c;完整展示如何将传统条件匹配逻辑(上千层if-else判断)转化为O(1)的哈希表高效实现。通过指纹验证场景的代码级解剖&#xff0c;您将深入理解&#xff1a;   1.哈希函数设计如何规避冲突陷阱   2.链式寻址法的工程实现…...

视频采集卡接口

采集卡的正面有MIC IN、LINE IN以及AUDIO OUT三个接口&#xff0c; MIC IN为麦克风输入&#xff0c;我们如果要给采集到的视频实时配音或者是在直播的时候进行讲解&#xff0c;就可以在这里插入一个麦克风&#xff0c; LINE IN为音频线路输入&#xff0c;可以外接播放背景音乐…...

蓝桥杯真题 - 像素放置 - 题解

题目链接&#xff1a;https://www.lanqiao.cn/problems/3508/learning/ 个人评价&#xff1a;难度 3 星&#xff08;满星&#xff1a;5&#xff09; 前置知识&#xff1a;深度优先搜索 整体思路 深搜&#xff0c;在搜索过程中进行剪枝&#xff0c;剪枝有以下限制条件&#xf…...

vue基础(三)

常用指令 1. v-bind 固定绑定与动态绑定&#xff1a; 语法&#xff1a; 标准语法&#xff1a;v-bind:属性"动态数据" 简写语法&#xff1a;:属性"动态数拓" <!DOCTYPE html> <html lang"en"><head><me…...

基于OpenClaw的轻量级AI内容工厂:多智能体协作与自动化创作实践

1. 项目概述&#xff1a;一个轻量级AI内容创作工厂如果你正在寻找一个能快速上手、开箱即用的AI内容创作解决方案&#xff0c;那么aiclublight这个项目可能会让你眼前一亮。它本质上是一个基于OpenClaw框架构建的“AI内容工厂”的轻量版&#xff0c;将复杂的多智能体协作系统&a…...

构建AI信任层TrustLayer:开源插件化架构保障AI输出安全与可靠

1. 项目概述&#xff1a;为什么我们需要一个AI信任层&#xff1f;最近几个月&#xff0c;我几乎把所有主流的AI工具都试了个遍。从代码助手到文案生成&#xff0c;从图像创作到数据分析&#xff0c;每个工具都承诺能提升效率。但用着用着&#xff0c;我发现一个越来越明显的问题…...

如何在5分钟内配置鸣潮自动化助手,实现多账号高效管理?

如何在5分钟内配置鸣潮自动化助手&#xff0c;实现多账号高效管理&#xff1f; 【免费下载链接】better-wuthering-waves &#x1f30a;更好的鸣潮 - 后台自动剧情 项目地址: https://gitcode.com/gh_mirrors/be/better-wuthering-waves 厌倦了《鸣潮》中重复的剧情对话…...

MediaCreationTool.bat:革命性的Windows自动化部署解决方案

MediaCreationTool.bat&#xff1a;革命性的Windows自动化部署解决方案 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat …...

AI编程助手集成飞书MCP:零依赖单文件实现工作流自动化

1. 项目概述&#xff1a;连接AI编程助手与飞书工作流 如果你和我一样&#xff0c;每天的工作流都离不开飞书&#xff08;Lark&#xff09;——写文档、拉群沟通、排会议日程、更新多维表格&#xff0c;然后在IDE和浏览器之间来回切换&#xff0c;那么你一定会对这个项目感兴趣…...

基于MCP协议与向量检索,为AI编程助手构建跨会话持久记忆

1. 项目概述&#xff1a;为AI编程助手构建持久记忆如果你和我一样&#xff0c;日常重度依赖Cursor、Claude Code、Windsurf这类AI编程助手&#xff0c;那你一定遇到过这个让人头疼的场景&#xff1a;昨天在Cursor里花了半小时跟AI解释清楚了一个复杂模块的业务逻辑和设计思路&a…...

React Native Expo样板项目:集成导航、状态管理与样式的最佳实践

1. 项目概述&#xff1a;一个为React Native开发者准备的“开箱即用”脚手架 如果你是一名React Native开发者&#xff0c;或者正打算踏入这个领域&#xff0c;那么你一定对项目启动初期那些繁琐的配置工作深有体会。从搭建开发环境、配置路由、集成状态管理&#xff0c;到设置…...

如何永久保存微信聊天记录:WeChatMsg完整指南与数据安全终极方案

如何永久保存微信聊天记录&#xff1a;WeChatMsg完整指南与数据安全终极方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…...

传统RAG把文档切碎,TreeSearch不接受,结果反而更快更准

无需 Embedding&#xff0c;无需向量库&#xff0c;无需切分——开源项目TreeSearch 用树结构保留文档灵魂&#xff0c;毫秒级检索万级文档。 你是不是也被 RAG 切碎过&#xff1f; 用过 RAG 的人都知道这个痛点&#xff1a; 文档被机械地切成固定大小的 chunk&#xff0c;喂…...

构建本地AI记忆系统:五大记忆库与心跳回忆机制详解

1. 项目概述&#xff1a;一个让AI助手真正“记住你”的本地记忆系统 如果你用过OpenClaw、Claude Code或者任何AI助手&#xff0c;肯定遇到过这样的场景&#xff1a;昨天刚跟它详细讨论了一个项目方案&#xff0c;今天再问&#xff0c;它要么含糊其辞&#xff0c;要么又得从头解…...