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;
}

代码思路:

  1. 读取总页码数 N;
  2. 创建一个大小为 10 的 count 数组,用于记录每个数字出现的次数;
  3. 从 1 到 N 遍历每个页码;
  4. 对于每个页码,将其逐位拆解,并在 count 数组对应的位置加 1;
  5. 输出 count 数组中每个数字的个数。
C++ 计算页码中数字出现的次数

原文地址: https://www.cveoy.top/t/topic/qrr3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录