一本书的页码从自然数 1 开始顺序编码直到自然数 n。书的页码按照通常的习惯编排每个页码都不含多余的前导数字 0。例如第 6 页用数字 6 表示而不是 06 或 006 等。数字计数问题要求对给定书的总页码 n计算出书的全部页码中分别用到多少次数字 012…9。输入给定表示书的总页码的 10 进制整数 n 1≤n≤10 9 。编程计算书的全部页码中分别用到多少次数字 012…9。输出输出共有 1
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
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++) {
printf("%d\n", count[i]);
}
return 0;
}
输入样例: 10
输出样例: 1 7 2 1 1 1 1 1 1 1
原文地址: http://www.cveoy.top/t/topic/jaO9 著作权归作者所有。请勿转载和采集!