洛谷C++简单题小练习day21—梦境数数小程序
day21--梦境数数--2.25
习题概述
题目背景
Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。
题目描述
Bessie 的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…9):每一个数码在计数的过程中出现过多少次?
给出两个整数 M 和 N,求在序列 [M,M+1,M+2,…,N−1,N] 中每一个数码出现了多少次。
输入格式
第 1 行: 两个用空格分开的整数 M 和 N。
输出格式
第 1 行: 十个用空格分开的整数,分别表示数码 0…9 在序列中出现的次数。

代码表示
#include<bits/stdc++.h>
using namespace std;int main() {int M, N;cin >> M >> N;
//创建了一个长度为 10 的整型数组 count
//用于存储每个数字(0 到 9)在序列中出现的次数int count[10] = {0}; for (int i = M; i <= N; i++) {int num = i;while (num > 0) {count[num % 10]++; // 获取 num 的最后一位数,之后再对应加1 num /= 10;//将 num 的最后一位数字去除}}for (int i = 0; i < 10; i++) {cout << count[i];//输出当前数字出现的次数 if (i < 9) {cout << " ";}}cout << endl;return 0;
}
心得体会
1. int count[10] = {0};
for (int i = M; i <= N; i++) {
int num = i;
while (num > 0) {
count[num % 10]++;
num /= 10;
当我们遍历从 M 到 N 的每一个数字时,可以写在一个循环中,我们需要对每个数字的每一位进行统计。这段代码使用了一个嵌套的 for 循环和 while 循环来实现。
外层的 for 循环会依次将 M 到 N 之间的每个数字赋值给变量 i。这个变量 i 就代表当前正在处理的数字。在内层的 while 循环中,我们首先将当前数字 i 复制给另一个变量 num,以便进行处理。
使用 num % 10 取模运算,获取 num 的最后一位数字。这是通过对 num 取余数来实现的。例如,当 num 是 1234 时,num % 10 的结果就是 4。
使用 count[num % 10]++ 将 num 的最后一位数字作为索引,将 count 数组中相应位置的元素加1。这样就实现了对该数字的出现次数进行统计。
通过 num /= 10 将 num 的最后一位数字去除,以便处理下一位数字。这是通过整除运算来实现的。例如,当 num 是 1234 时,num /= 10 的结果就是 123。
通过不断重复这个过程,我们可以逐位统计每个数字在当前数字 i 中的出现次数,直到 num 不再大于 0。这样,内层的 while 循环会处理完当前数字 i 的所有位数,并将统计结果记录在 count 数组中。然后,外层的 for 循环会继续处理下一个数字,直到遍历完从 M 到 N 的所有数字。
2. 整体代码可以这样理解
这段C++代码的主要目标是统计在给定序列 [M, M+1, M+2, ..., N-1, N] 中每个数字(0到9)出现的次数。它的实现过程可以总结如下:
1)声明两个整数类型的变量 M 和 N,并从输入中读取它们的值。
2)创建一个长度为10的整型数组 count,用于存储每个数字在序列中出现的次数,并将数组的所有元素初始化为0。
3)使用一个循环遍历从 M 到 N 的所有数字。
4)在循环内部,使用取模运算获取当前数字的最后一位,并将对应位置的 count 数组元素加1,以统计该数字的出现次数。然后通过整除运算去除当前数字的最后一位,以便处理下一位数字。
5)使用另一个循环遍历 count 数组中的所有元素,输出每个数字的出现次数。同时,在输出之间添加空格进行分隔。
6)最后,输出一个换行符以确保输出结果的格式正确。
7)程序正常结束并返回值为0。
相关文章:
洛谷C++简单题小练习day21—梦境数数小程序
day21--梦境数数--2.25 习题概述 题目背景 Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。 题目描述 Bessie 的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0…9&#x…...
LabVIEW高精度闭式微小型循环泵性能测试
LabVIEW高精度闭式微小型循环泵性能测试 开发了一套基于LabVIEW的高精度闭式微小型循环泵性能测试系统,旨在通过先进的测试技术和虚拟仪器技术,对微小型循环泵的性能进行精确测量和分析,从而优化泵的设计和性能,提高其在航空、机…...
同局域网共享虚拟机(VMware)
一、前言 首先我们先来了解下 VMware 的三种网络模式桥接模式、NAT模式、仅主机模式,网络类型介绍详情可以参考下我之前的文档 Linux系统虚拟机安装(上)第三章 - 第9步指定网络类型。了解三种网络模式的原理之后,再来剖析下需求&…...
docker学习快速入门
目录 Linux下安装docker配置阿里云镜像加速docker命令部署安装Tomcat、ES容器数据卷DockerFiledocker网络制作tomcat镜像Redis集群部署SpringBoot微服务打包docker镜像拓展 什么是Docker Docker是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例。服务…...
大语言模型LLM推理加速:LangChain与ChatGLM3-6B的推理加速技术(LLM系列11)
文章目录 大语言模型LLM推理加速:LangChain与ChatGLM3-6B的推理加速技术(LLM系列11)引言LangChain框架下的推理优化LangChain的核心理念与功能特点分布式计算与知识图谱集成优化推理路径实例分析:使用链式查询与缓存机制提升模型推…...
GSVA -- 学习记录
文章目录 1.原理简介2. 注意事项3. 功能实现代码实现部分 4.可视化5.与GSEA比较 1.原理简介 Gene Set Variation Analysis (GSVA) 基因集变异分析。可以简单认为是样本数据中的基因根据表达量排序后形成了一个rank list,这个rank list 与 预设的gene setsÿ…...
基于Springboot的旅游网管理系统设计与实现(有报告)。Javaee项目,springboot项目。
演示视频: 基于Springboot的旅游网管理系统设计与实现(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层…...
Docker基础篇(六) dockerfile体系结构语法
FROM:基础镜像,当前新镜像是基于哪个镜像的 MAINTAINER :镜像维护者的姓名和邮箱地址 RUN:容器构建时需要运行的命令 EXPOSE :当前容器对外暴露出的端口号 WORKDIR:指定在创建容器后,终端默认登…...
【Python编程+数据清洗+Pandas库+数据分析】
数据分析的第一步往往是数据清洗,这个过程关键在于理解、整理和清洗原始数据,为进一步分析做好准备。Python 语言通过Pandas库提供了一系列高效的数据清洗工具。接下来,该文章将通过一个简单的案例演示如何利用 Pandas 进行数据清洗ÿ…...
网络安全之防御保护8 - 11 天笔记
一、内容安全 1、攻击可能只是一个点,防御需要全方面进行 2、IAE引擎 3、DFI和DPI技术 --- 深度检测技术 深度行为检测技术分为:深度包检测技术(DPI)、深度流检测技术(DFI) DPI --- 深度包检测技术 --- 主要针对完整的数据包…...
LiveGBS流媒体平台GB/T28181功能-查看国标设备下通道会话列表直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话
LiveGBS流媒体平台GB/T28181功能-查看直播|回放|对讲|播放|录像|级联UDP|TCP|H264|H265会话 1、会话列表2、会话类型3、搭建GB28181视频直播平台 1、会话列表 LiveGBS-> 国标设备-》点击在线状态 点击会话列表 2、会话类型 下拉会话类型可以看到 直播会话、回放会话、下载…...
Python和Jupyter简介
在本notebook中,你将: 1、学习如何使用一个Jupyter notebook 2、快速学习Python语法和科学库 3、学习一些IPython特性,我们将在之后教程中使用。 这是什么? 这是只为你运行在一个个人"容器"中的一个Jupyter noteboo…...
Linux——静态库
Linux——静态库 静态库分析一下 ar指令生成静态库静态库的使用第三方库优化一下 gcc -I(大写的i) -L -l(小写的l),头文件搜索路径,库文件搜索路径,连接库 今天我们来学习静态库的基本知识。 静态库 在了解静态库之前,我们首先来…...
fastjson序列化MessageExt对象问题(1.2.78之前版本)
前言 无论是kafka,还是RocketMq,消费者方法参数中的MessageExt对象不能被 fastjson默认的方式序列化。 一、查看代码 Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,ConsumeConcurrentlyContext context) {t…...
osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)
目录 网络协议如何分层 引入 osi模型 tcp/ip模型 引入 命名由来 介绍 物理层 数据链路层 网络层 传输层 应用层 中间设备 网络协议如何分层 引入 我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层 常见的网络协议分层模型是OSI模型 和 …...
ElasticSearch之找到乔丹的空中大灌篮电影
写在前面 本文看一个搜索的实际例子,找到篮球之神乔丹的电影Space Jam,即空中大灌篮。 正式开始之前先来看下要查询的目标文档,以及查询的text: 要查询的目标文档 {..."title": "Space Jam",..."ove…...
CSS @符规则(@font-face、@keyframes、@media、@scope等)
随着前端开发的不断发展,CSS 的功能日益强大,其中 规则扮演着举足轻重的角色。它们不仅扩展了 CSS 的功能边界,还为开发者提供了更加灵活和高效的样式定义方式,让我们来一同探索这些强大而实用的 规则吧! font-face …...
uniapp微信小程序解决上方刘海屏遮挡
问题 在有刘海屏的手机上,我们的文字和按钮等可能会被遮挡 应该避免这种情况 解决 const SYSTEM_INFO uni.getSystemInfoSync();export const getStatusBarHeight ()> SYSTEM_INFO.statusBarHeight || 15;export const getTitleBarHeight ()>{if(uni.get…...
项目:shell实现多级菜单脚本编写
目录 1. 提示 2. 演示效果 2.1. 一级菜单 2.2. 二级菜单 2.3. 执行操作 3. 参考代码 1. 提示 本脚本主要实现多级菜单效果,并没有安装LAMP、LNMP环境,如果要用在实际生成环境中部署LNMP、LAMP环境,只需要简单修改一下就可以了。 2. 演…...
Collections常用方法(Java)
Collections常用方法 使用 sort(List<T> list) 对 List 进行排序: List<Integer> numbers new ArrayList<>(Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6)); Collections.sort(numbers); System.out.println("排序后的列表:" …...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
