• 1515:打印1到最大的N位数 @jobdu


    题目1515:打印1到最大的N位数

    时间限制:1 秒

    内存限制:128 兆

    特殊判题:

    提交:625

    解决:323

    题目描述:

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

     

    输入:

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

     

    输出:

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

     

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


    考察的就是大数据输入。

    这种求全部组合的题目,一概可以用DFS来做。虽然本题Java中有自带BigInteger类,但还是按照出题人的意思来做吧。


    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    
    
    public class S12 {
    
    	public static void main(String[] args) throws FileNotFoundException {
    		BufferedInputStream in = new BufferedInputStream(new FileInputStream("in.in"));
    		System.setIn(in);
    		Scanner cin = new Scanner(System.in);
    		
    		while (cin.hasNextInt()) {
    			int n = cin.nextInt();
    			print1ToMaxOfNDigits(n);
    		}
    	}
    
    	private static void print1ToMaxOfNDigits(int n) {
    		if(n <= 0){
    			return;
    		}
    		
    		char[] number = new char[n];
    		rec(number, n, 0);
    	}
    	
    	private static void rec(char[] number, int length, int curDep){
    		if(curDep == length){
    			printNumber(number);
    			return;
    		}
    		
    		for(int i=0; i<10; i++){
    			number[curDep] = (char) (i+'0');
    			rec(number, length, curDep+1);
    		}
    	}
    	
    	private static void printNumber(char[] number){
    		boolean startingZero = true;
    		for(int i=0; i<number.length; i++){
    			if(number[i] != '0'){		// 过滤掉前导零
    				startingZero = false;
    			}
    			if(!startingZero){
    				System.out.print(number[i]);
    			}
    		}
    		if(!startingZero){
    			System.out.println();
    		}
    		
    	}
    }
    


  • 相关阅读:
    (转)Netfilter分析
    (转)offsetof与container_of宏[总结]
    GNU GCC 扩展属性
    eclipse快捷键
    数据库SQL优化大总结之 百万级数据库优化方案(转载)
    公钥,私钥和数字签名这样最好理解 (转载)
    注解方式实现输入参数验证
    统一异常处理@RestContrllerAdvice,@ExceptionHandler(转载)
    JSONField解决序列化与反序列化字段匹配问题
    JDBC事务控制管理(转载)
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3478684.html
Copyright © 2020-2023  润新知