import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
char[] num = new char[n];
for (int i = 0; i < n; i++) {
num[i] = '0';
}
while (increment(num)) {
printNumber(num);
}
}
private static boolean increment(char[] num) {
int len = num.length;
int i = len - 1;
while (i >= 0) {
if (num[i] < '9') {
num[i]++;
return true;
}
if (num[i] == '9') {
num[i] = '0';
}
i--;
}
return false;
}
private static void printNumber(char[] num) {
int i = 0;
while (num[i] == '0') {
i++;
}
while (i < num.length) {
System.out.print(num[i++]);
}
System.out.println();
}
}
剑指offer 12题 打印1到最大的n位数
最新推荐文章于 2025-12-05 14:37:41 发布
本文介绍了一个使用Java实现的递增数字序列打印程序。通过一个字符数组存储数字,并使用递增函数increment更新数字,每递增一次就调用printNumber函数打印当前的数字。这个程序从0开始,逐位递增直到最大值,展示了数字递增和打印的全过程。
229

被折叠的 条评论
为什么被折叠?



