原题链接见
题目大意:
把前n个整数顺次写出,输出0~9每个数字出现了多少次
实现代码
#include<iostream>
#include<cstring>
using namespace std;
int a[10000][10];
int main()
{
memset(a,0,sizeof(a));
for(int i=1;i<10000;++i){
for(int j=0;j<10;++j)//将上一次计算的结果累加起来
a[i][j]=a[i-1][j];
int num=i;
while(num)
{
a[i][num%10]++;//分别计算出现次数
num/=10;
}
}
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=0;i<10;++i){
if(i)
cout<<" ";
cout<<a[n][i];
}
cout<<endl;
}
return 0;
}