给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。 目标是使得最后得到的数尽可能小(注意0不能做首位)。
import java.util.Scanner;
public class Main_161{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] arr = new int[10];
//创建数组,下标即为0~9,对应的元素即为个数
for (int i = 0; i < 10; i++) {
arr[i] = scanner.nextInt();
}
//输出第一个非0数字,同时对应下标的元素(即为个数)减一,然后跳出循环
for (int i = 1; i < 10; i++) {
if (arr[i] != 0) {
System.out.print(i);
arr[i] = arr[i] - 1;
break;
}
}
//遍历数组,从头输出,i为数组下标,j为对应下标的个数
for (int i = 0; i < 10; i++) {
for (int j = 0; j < arr[i]; j++) {
System.out.print(i);
}
}
}
}