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

week4-[一维数组]数码个数

week4-[一维数组]数码个数

题目描述

给定若干个正整数,请求出这些正整数中,数码 0,1,2,…,90,1,2,\ldots,90,1,2,,9 分别出现了多少次。

输入格式

输入只有一行,包括若干个正整数,以 000 作为结束标志。

输出格式

输出只有一行,包括 101010 个整数,分别表示数码 0,1,2,…,90,1,2,\ldots,90,1,2,,9 在输入正整数中的出现次数。

样例 #1

样例输入 #1

546 2120 549 0

样例输出 #1

1 1 2 0 2 2 1 0 0 1

样例 #2

样例输入 #2

612 1354 19 7 98 395 0

样例输出 #2

0 3 1 2 1 2 1 1 1 3

样例 #3

样例输入 #3

1 22 333 4444 55555 6666 777 88 9 0

样例输出 #3

0 1 2 3 4 5 4 3 2 1

提示

数据范围

对于所有输入数据,每个正整数不超过 10910^9109 ,正整数的数量不超过 200200200 个。

🔎 解题思路

  1. 我们需要统计每个数码(digit 0~9)在所有输入的正整数中出现的次数。
  2. 输入是以 0 作为结束标志的,所以读到 0 就停止。
  3. 对每个数进行分解:不断取 num % 10 得到最后一位数字,然后 num /= 10 去掉最后一位。
  4. 每得到一个数码,就把对应的计数器 cnt[digit]++
  5. 所有数处理完后,输出 cnt[0]cnt[9]

📝 代码实现(C++)

#include <iostream>
using namespace std;int main() {int cnt[10] = {0};  // 统计0~9出现次数long long num;while (cin >> num) {if (num == 0) break;  // 遇到结束标志退出while (num > 0) {int digit = num % 10;cnt[digit]++;num /= 10;}}for (int i = 0; i < 10; i++) {cout << cnt[i];if (i < 9) cout << " ";}cout << endl;return 0;
}
http://www.xdnf.cn/news/1366165.html

相关文章:

  • k8s笔记02概述
  • C++|UDP通讯使用总结
  • HTML应用指南:利用GET请求获取MSN 天气数据并可视化
  • [系统架构设计师]应用数学(二十一)
  • list容器的使用
  • GNN:用MPNN(消息传递神经网络)落地最短路径问题模型训练全流程
  • 用 GSAP + ScrollTrigger 打造沉浸式视频滚动动画
  • 【Day 33】Linux-Mysql日志
  • DDR3入门系列(二)------DDR3硬件电路及Xilinx MIG IP核介绍
  • linux 正则表达式学习
  • 使用 gemini 来分析 github 项目
  • 安卓11 12系统修改定制化_____修改固件 默认给指定内置应用系统级权限
  • 大模型的思考方式
  • Java全栈开发实战:从Spring Boot到Vue3的项目实践
  • ZKmall开源商城多端兼容实践:鸿蒙、iOS、安卓全平台适配的技术路径
  • 8.25作业
  • [MH22D3开发笔记]2. SPI,QSPI速度究竟能跑多快,双屏系统的理想选择
  • Linux笔记9——shell编程基础-3
  • Tesseract OCR之页面布局分析
  • Linux系统的网络管理(一)
  • c# 读取xml文件内的数据
  • 网络编程-HTTP
  • zookeeper-znode解析
  • 【动态规划】309. 买卖股票的最佳时机含冷冻期及动态规划模板
  • 深入浅出 ArrayList:从基础用法到底层原理的全面解析(中)
  • 【C语言16天强化训练】从基础入门到进阶:Day 11
  • 信号处理的核心机制:从保存、处理到可重入性与volatile
  • 系统架构设计师-计算机系统存储管理的模拟题
  • 【数据结构】栈和队列——队列
  • AR远程协助:能源电力行业智能化革新