题目
输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1,2,3,…,999。
分析
问题:需要注意这个题目的陷阱,最大的n位数可能会造成数据类型(int 或 long)的溢出,所以这是一个大数问题,应该使用字符串或字符数组来解决。
有两种方法:
首先定义一个长度为n的字符数组,默认所有位置填充字符 ‘0’。
- 在字符串上模拟数字的加法
- 利用全排列思想的递归实现
打印数字的时候前面的填充 ‘0’ 注意不打印。
实现
|
|
输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1,2,3,…,999。
问题:需要注意这个题目的陷阱,最大的n位数可能会造成数据类型(int 或 long)的溢出,所以这是一个大数问题,应该使用字符串或字符数组来解决。
有两种方法:
首先定义一个长度为n的字符数组,默认所有位置填充字符 ‘0’。
打印数字的时候前面的填充 ‘0’ 注意不打印。
|
|