2373. 计数

1000ms 256MB 简单 双重循环 数组
题目描述
给定一个正整数 $n$。统计从 $1$ 到 $n$ 之间(包含 $1$ 和 $n$)的所有正整数中,数字 $0, 1, 2, 3, 4, 5, 6, 7, 8, 9$ 分别出现的次数。 请按照从 $0$ 到 $9$ 的顺序,分行输出每个数字及其出现的总次数,中间用英文逗号 `,` 隔开。
输入格式
- 输入一个正整数 $n$ ($1 \le n \le 1000$)。
输出格式
- 输出共 10 行。 - 按 $0 \sim 9$ 的顺序,每行输出一个数字和该数字在 $1 \sim n$ 中出现的总次数,格式为:`数字,次数`。
样例 1
输入 (Input)
10
输出 (Output)
0,1
1,2
2,1
3,1
4,1
5,1
6,1
7,1
8,1
9,1
样例说明
- **样例说明**: 在 $1 \sim 10$ 之间的整数中: - 数字 `0` 仅在 `10` 中出现过 1 次。 - 数字 `1` 在 `1` 和 `10` 中各出现过 1 次,共出现 2 次。 - 数字 `2` 到 `9` 均只在对应的个位数中各出现过 1 次。
- 对于 $100\%$ 的数据:$1 \le n \le 1000$。 - **算法提示**: 由于 $n$ 的范围较小 ($n \le 1000$),可以直接使用模拟法: 1. 定义一个大小为 10 的计数数组 `count`,初始化为 0。 2. 遍历 $1$ 到 $n$ 之间的每一个整数。 3. 对于当前的每个整数,通过循环取余(`num % 10`)和整除(`num /= 10`)操作,拆分出它的每一个数位,并将 `count` 数组中对应位置的计数器加 1。 4. 遍历结束后,按格式输出 `count` 数组的内容。
自测终端 stdin → stdout
输入 stdin
CtrlShiftEnter
输出 stdout

                
错误 stderr

                
CtrlEnter提交
自动保存已开启
操作成功
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字