题目描述
一本书的自然页码从自然数1开始顺序开始直到自然数n。书的页码按照习惯编排,每个页码都不含多余的前导数字0。例如,第6页用数字6来表示,而不是用06或是006等,对于给定书的总页码n(n大于等1,小于等于10000),计算出书的全部页码口分别用到多少次数字0,1,2,3,4,5,6,7,8,9。
输入描述
输入书的总页码数
输出描述
按0,1,2,3,4,5,6,7,8,9的顺序输出对应数字在书的页码中出现的次数。
输入样例
33
输出样例
3 14 14 8 3 3 3 3 3 3
AC代码如下:
#include "iostream"
#include "cstdio"
#include "cstring"
#include "iostream"
#include "cstdio"
#include "algorithm"
#include "cstring"
#include "string"
#include "cmath"
using namespace std;
int a[20]={0};
void fun(int num)
{
while(num!=0)//分离该数的各位的数字
{
int sum=num%10;
a[sum]++;
num=num/10;
}
}
int main(int argc, char* argv[])
{
int n,i,num;
cin>>n;
for(i=0;i<11;i++) a[i]=0;
for(i=1;i<=n;i++)
{
fun(i);
}
for(int j=0;j<10;j++)
{
cout<<a[j]<<" ";
}
return 0;
}