问题:Digit Counting 数数字 把前 n(n<=10000)个整数顺次写在一起12345678910111213……,数一数 0-9 各出现了多少次(数出十个整数,分别是0,1,2,3……,9 出现的次数。
分析:关键就是拆分计数...就这一点难点...
#include<stdio.h>
int main(){
int q;
scanf("%d",&q);
while(q--){
int n,num,t=0,a[10]={0};
scanf("%d",&n);
for(int i=1;i<=n;i++){
num=i;
for(int j=0;num>0;j++){
a[num%10]++;
num=num/10;
}
}
for(int k=0;k<10;k++) {
if(k<9)
printf("%d ",a[k]);
else printf("%d\n",a[k]);
}
}
}