SPOJ 1872 "Making Book" MKBOOK
問題:https://www.spoj.pl/problems/MKBOOK/
数値Aと数値Bの間に存在する数値の桁の出現頻度を求める問題.
最大値最小値書いてないしAとBの大小関係書いてないし,WA.]
longにした意味はたぶんない.
import java.io.BufferedReader; import java.io.InputStreamReader; class Main { public static void main(String[] z) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = 1; for (String str; !(str = br.readLine()).equals("0");) { long[] freq = new long[10]; String[] sp = str.split(" "); long x = new Long(sp[0]), y = new Long(sp[1]); for (long a=Math.min(x, y),b=Math.max(x, y); a <= b; ++a) { char[] cs = ("" + a).toCharArray(); for (int i = 0; i < 10; ++i) { freq[i] += freq(cs, (char) (i + '0')); } } System.out.print("Case " + t++ + ":"); for (int i = 0; i < 10; ++i) { System.out.print(" " + i + ":" + freq[i]); } System.out.println(); } } static int freq(char[] a, char c) { int freq = 0; for (int i = 0; i < a.length; ++i) { if (a[i] == c) { ++freq; } } return freq; } }