C++ 计算页码中数字出现的次数
C++ 计算页码中数字出现的次数
问题描述:
一本书的页数为 N,页码从 1 开始编起,请你求出全部页码中,用了多少个 0,1,2……9。
输入描述:
一个正整数 N(N<=10000),表示总的页码。
输出描述:
共十行:第 k 行为数字 k-1 的个数
代码示例:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> count(10, 0);
for (int i = 1; i <= N; i++) {
int num = i;
while (num > 0) {
int digit = num % 10;
count[digit]++;
num /= 10;
}
}
for (int i = 0; i < 10; i++) {
cout << i << ': ' << count[i] << endl;
}
return 0;
}
代码思路:
- 读取总页码数 N;
- 创建一个大小为 10 的 count 数组,用于记录每个数字出现的次数;
- 从 1 到 N 遍历每个页码;
- 对于每个页码,将其逐位拆解,并在 count 数组对应的位置加 1;
- 输出 count 数组中每个数字的个数。
原文地址: https://www.cveoy.top/t/topic/qrr3 著作权归作者所有。请勿转载和采集!