题目
把前n(n≤10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次 (输出10个整数,分别是0,1,…,9出现的次数)。
解答
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int T=sc.nextInt();//测试的次数
while(T-->0) {
int[] a=new int[10];//数组存放0~9出现的次数
int n=sc.nextInt();
for (int i = 1; i <= n; i++) {//从1-n循环
String cur_n=String.valueOf(i);
for (int j = 0; j < cur_n.length(); j++) {//对每一个数字进行拆分
a[cur_n.charAt(j)-'0']++;
}
}
for (int i = 0; i < a.length-1; i++) {
System.out.print(a[i]+" ");
}
System.out.println(a[9]);
}
}
}