一道思维题,关键在于把多位数转化为个位数,其实一个while就可以了,比较水的题目.
AC 代码:
#include<iostream>
#include<string.h>
using namespace std;
int c[100001];
int re[10];
int main()
{
int t,n,i;
cin>>t;
while(t--)
{
memset(re,0,sizeof(re));
int k=0;
cin>>n;
for(i=1;i<=n;i++)
{
int tt=i;
while(tt>0)//关键点
{
c[k++]=tt%10;
tt/=10;
}
}
for(i=0;i<k;i++)
{
re[c[i]]++;
}
cout<<re[0];
for(i=1;i<=9;i++)
{
cout<<" "<<re[i];
}
cout<<endl;
}
return 0;
}