题目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();
} }
}

最新文章

  1. Freeswitch 添加可转码的G729编码
  2. 学校系统快速js代码
  3. [Asp.net MVC]Asp.net MVC5系列——从控制器访问模型中的数据
  4. node.js整理 02文件操作-常用API
  5. 【随笔】ssh登录时如何直接在参数中加入登录密码
  6. Android控件之ToggleButton(多状态按钮)
  7. Python中strip()函数
  8. [置顶] ios 网页中图片点击放大效果demo
  9. Part 53 to 55 Talking about Reflection in C#
  10. js判断是否在iframe中
  11. Android豆瓣图书查询Demo
  12. (转)IIS5.1的安装配置并发布ASP.NET网站
  13. Swift主题色顶级解决方案一
  14. Spring @Aspect切面参数传递
  15. oracle练习--@余生请指教多
  16. 20145237 《Java程序设计》第九周学习总结
  17. 【BZOJ5289】[HNOI2018]排列(贪心)
  18. Linux命令之top、ulimit、free
  19. Spring中Bean的五个作用域
  20. MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示

热门文章

  1. mysql查询结果中文显示成了问号
  2. 机器学习算法与Python实践之(二)支持向量机(SVM)初级
  3. js library
  4. Firefly官方教程之Netconnect使用文档
  5. [状压dp]HDU5045 Contest
  6. POJ - 1523 SPF
  7. ANDROID_MARS学习笔记_S01原始版_014_WIFI
  8. html5 飞船动画
  9. Android 导出db并查看内容
  10. Form.block Trigger DML常规写法