剑指offer---打印1到n位的最大数(12)
来源:互联网 发布:实变函数和实分析 知乎 编辑:程序博客网 时间:2024/06/05 18:17
题目:输入数字n,按顺序打印出从1到最大的n位数。比如输入的是3,则打印1、2、3…….一直打印到999。
#include <iostream>#include <string.h>using namespace std;void printNumber(char* number){ int len = strlen(number); bool isBeginning0 = true; for(int i=0;i<len;i++) { if(isBeginning0 && number[i] != '0') isBeginning0 = false; if(!isBeginning0) cout<<number[i]; } cout<<" ";}bool Increment(char* number){ bool flg = true; int len = strlen(number); for(int i=len-1;i>=0;i--) { int num = number[i]-'0'+1; if(num >= 10) { if(i == 0) flg = false; else { num -= 10; number[i] = num + '0'; } } else { number[i] = num + '0'; break; } } return flg;}void Print1toMaxofNDigits(int n){ char* number = new char[n+1]; if(n > 0) { memset(number,'0',n); number[n] = '\0'; while(Increment(number)) //给字符串中表达的数字模拟加1 { printNumber(number); } } cout<<endl; delete []number;}int main(){ Print1toMaxofNDigits(3); return 0;}
阅读全文
0 0
- 剑指offer---打印1到n位的最大数(12)
- (《剑指offer》笔记)打印从1到最大的N位十进制数
- 剑指offer--打印1到最大的N位数字
- 剑指offer面试题12 打印从1到最大n位的所有数(大数,递归)
- 剑指offer 面试题(打印1到n最大的n位整数)(6)
- 剑指offer 面试题12 打印 1 到最大的 n 位整数
- 打印1到n位最大数
- 剑指offer-12 打印1到最大的N位数
- 剑指offer 12 -打印1到最大的n位数
- 剑指Offer-12-打印1到最大的n位数
- 剑指Offer 12 打印1到最大的n位数
- 剑指offer-12:打印1到最大的n位数
- 剑指Offer面试题12(Java版):打印1到最大的n位数
- 剑指Offer之打印1到最大的N位数
- 剑指offer:打印1到最大的n位数
- 【剑指offer】打印1到最大的n位数
- [剑指Offer]打印1到最大的n位数
- 【剑指offer】打印1到最大的n位数
- Sqoop 连接Oracle导入数据到hive
- 收藏的有价值的文章,感谢作者的分享!
- c语言数据结构的练习
- C++Primer习题第十五章
- 深入Java虚拟机-类加载机制
- 剑指offer---打印1到n位的最大数(12)
- 基于fpga的串口通信实现
- 写Flask应用时的一些优雅技巧
- IM聊天室(一):WebSocket
- 正则表达式中的.*?,懒惰模式与贪婪模式
- MySQL的存储过程declare语句报错 游标
- Java基础--标识符,关键字,数字类型
- shell脚本题
- spring整合mybatis