测试样例:
Sample Input
2
3
13
Sample Output
0 1 1 1 0 0 0 0 0 0
1 6 2 2 1 1 1 1 1 1
题目大意:T个测试样例,每个样例给定一个数n,求从1到n的所有数字各个位上0-9出现次数。
AC代码:
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int cnt[10];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(cnt,0,sizeof(cnt));
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int temp=i;//将数字每一位取出来计数
while(temp)
{
cnt[temp%10]++;
temp/=10;
}
}
for(int i=0;i<10;i++)//输出格式控制
{
if(i<9)
printf("%d ",cnt[i]);
else
printf("%d\n",cnt[i]);
}
}
return 0;
}