#include<iostream>
#include<string.h>
using namespace std;
bool Increment(char *number){
bool flag = false;
int n = 0;//进位
int length = strlen(number);
for(int i = length - 1; i >= 0; i--){
int nSum = number[i] - '0' + n;
if(i == length - 1)
nSum++;
if(nSum >= 10){
if(i == 0)
flag = true;
else{
nSum -= 10;
n = 1;
number[i] = '0' + nSum;
}
} else{
number[i] += 1;
break;
}
}
return flag;
}
void PrintNumber(char *number){
bool isBegin0 = true;
int length = strlen(number);
for(int i = 0; i < length; ++i){
if(isBegin0 && number[i] != '0')
isBegin0 = false;
if(!isBegin0)
cout << number[i];
}
cout<<endl;
}
void Print1ToMaxOfDigits(int n){
if(n <= 0)
return;
char *nums = new char[n + 1];
memset(nums, '0', n + 1);
nums[n] = '\0';
while(!Increment(nums))
PrintNumber(nums);
delete[] nums;
}
int main(){
Print1ToMaxOfDigits(2);
}