输入数字n,按顺序打印出从1到最大的n位十进制数。 比如,输入3,则打印出1,2,3,.....,一直到最大的3位数即999。 全排列打印
public class Main { public static void main(String[] args) { Main test = new Main(); int n = 4; int[] arr = new int[n]; test.PrintMaxOfNDigits(arr, 0); } private void PrintMaxOfNDigits(int[] arr, int index) { if (index == arr.length - 1) { for (int i = 0; i < 10; i++) { arr[index] = i; PrintNumber(arr); } return; } for (int i = 0; i < 10; i++) { arr[index] = i; PrintMaxOfNDigits(arr, index + 1); } } private void PrintNumber(int[] arr) { int i = 0; while (arr[i] == 0) { i++; if (i == arr.length) { return; } } for (; i < arr.length; i++) { System.out.print(arr[i]); } System.out.print("\t"); } }
时间: 2024-11-08 21:17:40