剑指offer--算法题--14--打印1到最大的n位数

题目描述:

给定一个数字N,打印从1到最大的N位数。

输入:

每个输入文件仅包含一组测试样例。
对于每个测试案例,输入一个数字N(1<=N<=5)。

输出:

对应每个测试案例,依次打印从1到最大的N位数。

样例输入:
1
样例输出:
1
2
3
4
5
6
7
8

9

第一种方法就是我们可以直接想到的方法,就是先找出来最大的n位数,然后循环遍历就可以了

package jzoffer;
import java.util.Scanner;
public class Print1ToMaxOfNDigits {
	public static void Print1ToMaxOfNDigits1(int n){
		int number = 1;
		int i = 0;
		while(--n>=0){  //先求出n位数+1之后是啥数
			number *= 10;
		}
		for(int j = 1;j<number;j++){//然后遍历循环即可
			System.out.println(j);
		}
	}
	public static void main(String[] args) {
		System.out.println("请输入小于等于5大于等于一的正整数:");
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		Print1ToMaxOfNDigits1(n);
	}
}

结果图


猜你喜欢

转载自blog.csdn.net/lsm18829224913/article/details/80502758