码迷,mamicode.com
首页 > 其他好文 > 详细

数数字 (Digit Counting,ACM/ICPC Danang 2007,UVa 1225)

时间:2016-07-21 23:42:36      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

思路:

利用java 特性,将数字从1 一直加到n,全部放到String中,然后依次对strring扫描每一位,使其carr[str.charAt(i)-‘0‘]++;

最后输出carr[i],即可。

13

string=12345678910111213

carr[1]++、carr[2]++、carr[3]++、、、、carr[1]++、carr[1]++、carr[1]++、carr[2]++、carr[1]++、carr[3]++

AC Code:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int n = sc.nextInt();
			while (n-- != 0) {
				int a = sc.nextInt();
				String str = "";
				int[] carr = new int[10];
				for (int i = 1; i <= a; i++)
					str = str + i;
				for (int i = 0; i < str.length(); i++) {
					carr[str.charAt(i) - ‘0‘]++;
				}
				for (int i = 0; i < 9; i++) {
					System.out.print(carr[i] + " ");
				}
				System.out.println(carr[9]);
			}
		}
	}
}

  

 

数数字 (Digit Counting,ACM/ICPC Danang 2007,UVa 1225)

标签:

原文地址:http://www.cnblogs.com/A--Q/p/5693317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!