面试题:打印1至最大的N位数

summary

:

题目

输入数字n,打印从1到最大的n位十进制数。如输入3,则打印1, 2, 3 ... 999。

分析

考虑特殊情况,n是否可以是负数或0。问面试官,n是否可以很大?如果n可以是很大,则 不能用int, long long来存,这个时候变成了高精度数据的问题,应该用字符串。而从 1到最大的N位数,其实就是这么多位数字的从0到9的全排列,于是可以递归地打印出来。

代码

::: {.code-include lexer="cpp"} ./print_one_to_max_n_digit_number.cpp :::