void print_n_number(int n){
if(n<=0){
cout<<"fuckyou";
return;
}
string s="1";
while(s.size()<=n){
while(s.back()<='9'){
cout<<s<<endl;
s.back()+=1;
}
int cur_index=s.size()-1;
while(cur_index>=0 and s[cur_index]>='9'){
s[cur_index]='0';
--cur_index;
}
if(cur_index>=0){
s[cur_index]+=1;
}
else{
s.insert(s.begin(),'1');
}
}
}
递归:
void helper(int n,string& s,int index){
if(index==n){
cout<<s<<endl;
return;
}
for(int i=0;i<10;++i){
s[index]='0'+i;
helper(n,s,index+1);
}
}
void print_n_number(int n){
string s(n,'0');
helper(n,s,0);
}