问题描述:
一本书的页码从自然数1开始书序编码直到自然数 n 。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第六页 用数字表示是6,而不是06或者006等,数字计数问题要求给定的总页码n,计算出书的全部页码中分别用到多少次数字 0,1,2,…9。
编程任务:
给定书的总页码的十进制整数n (1<=n<=10^9)。编程计算书的全部页码中分别用到多少次0,1,2,3,…9
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
using namespace std;
void analy(int n, int ar[10])
{
while (n > 0)
{
int cc = n % 10;
n /= 10;
ar[cc]++;
}
}
int main()
{
int n;
scanf("%d", &n);
int ar[10] = {0};
for (int i = 0; i <= n; i++)
{
analy(i, ar);
};
for (int i = 0; i < 10; i++)
{
printf("%d\n", ar[i]);
};
return 0;
}