Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

JAVA RUNTIME ERROR

Posted by caimin1987 at 2011-08-31 21:12:06 on Problem 1715
测了很多数据,都没有问题,请大牛帮我看看吧,感激不尽
import java.util.Scanner;

public class Main {
	private final static char[] ch = { 'F', 'E', 'D', 'C', 'B', 'A', '9', '8', '7',
			'6', '5', '4', '3', '2', '1', '0' };

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		while (scan.hasNext()) {
			int x = scan.nextInt();

			if(x == 546481141)
				break;
			
			char[] digit = { '-', '-', '-', '-', '-', '-', '-', '-' };
			int n = 0;
			for (int i = 0; i < 8; i++) {
				int q = q(digit, i);
				int a = 15 * p(15, (7 - i));
				
				if(x > n + a) {
					n += a;
					continue;
				}
				
				int increm = p(15 - q, (7 - i));
				int j = 1;
				while (n + increm < x) {
					n += increm;
					j++;
				}

				findCh(digit, i, j);

			}

			boolean zero = true;
			for (int i = 0; i < digit.length; i++)
				if(digit[i] != '-') {
					System.out.print(digit[i]);
					zero = false;
				}
			if(zero)
				System.out.println('0');
			else
				System.out.println();
			x++;
		}
	}

	private static void findCh(char[] digit, int n, int q) {
		int flag = 0;
		for (int j = 0; j < ch.length; j++) {
			boolean find = false;
			for (int i = 0; i < n; i++) {
				if (digit[i] == ch[j]) {
					find = true;
					break;
				}
			}
			if (!find) {
				flag++;
				if (flag == q) {
					digit[n] = ch[j];
					break;
				}
			}
		}
	}

	//求排列组合P(n,r)
	private static int p(int n, int r) {
		int res = 1;
		for (int i = 0; i < r; i++)
			res *= (n - i);
		return res;
	}

	private static int q(char[] digit, int j) {
		int res = 0;
		for(int i = 0; i < j; i ++) {
			if(digit[i] == '-')
				continue;
			res ++;
		}
		return res;
	}
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator