题目用例:如n = 3,则打印1到最大的3位数(即999),即依次打印1、2、3 … 、998、999
分析:n可能很大,传统的用一个整数的方法会存在溢出问题。我们考虑的方法是使用std::vector保存每一位。思路很简单,模拟人为计算数值+1的过程,注意进位问题。
代码:
#include <vector>
#include <iostream>
using namespace std;
void print1toMaxN(int n)
{
vector<int> v(n + 1, 0);
while (v[n] == 0)