面试题17.打印从1到最大的n位数
2024-09-03 13:47:14
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);
}
最新文章
- gcc/linux内核中likely、unlikely和__attribute__(section(";";))属性
- bzoj4398:福慧双修
- sql语句的匹配
- 通过beego快速创建一个Restful风格API项目及API文档自动化
- [Hibernate] - EAGER and LAZY
- AIM Tech Round 3
- Android 通过广播启动另一个应用的Activity
- 20150817---成长日记1---DelayQueue&;&;Delayed&;&;Other
- 兼容主流浏览器的js原生函数封装
- 201521123027 <;java程序设计>;第十周学习总结
- Linux入门(14)——Ubuntu常用快捷键
- Fiddler显示服务器IP的方法
- Zabbix监控原理及架构
- MHA(上)
- SQL查询某库所有的表所有的字段及字段的属性
- java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat()
- C#实现录音录像录屏源码
- Codeforces 786 C. Till I Collapse
- php绝对路径转相对路径
- java基础52 编码与解码