首页 > 其他 > 详细

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

时间:2016-07-21 23:41:38      阅读:247      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!