coding - 输出1到N位数
来源:互联网 发布:黄金列车 知乎 编辑:程序博客网 时间:2024/05/16 19:40
题目描述:
输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。
分析:1)输出1-n位数,一般都会写出来,如下:
void Print1toN(int n){int number = 1;int i = 0;while (i++ < n)number *=10;for (i = 0; i < number; i++)cout << i << "\t";cout << endl;}2)如果n很大,将变成大数溢出,好在有解决方法,就是使用字符串来存储大数。
对于n位数,开辟n+1大小的空间来存储,最后一位‘\0‘。不足n位的用0补上。可以选择打印出来,也可以不打印。
void PrintNumber(char* number) { bool isBeginning0=true; int nLength=strlen(number); for(int i=0; i<nLength; i++) { if(isBeginning0 && number[i]!='0') isBeginning0=false; if(!isBeginning0) { cout<<number[i]; } } cout<<"\t"; }void Print1ToMax(char *number, int length, int index) { if(index==length-1) { PrintNumber(number); return; } for(int i=0; i<10; i++) { number[index+1]=i+'0'; Print1ToMax(number, length, index+1); } } void Print1ToMaxOfN(int n) { if(n<0) return; char *number=new char[n+1]; number[n]='\0'; for(int i=0; i<10; i++) { number[0]=i+'0'; Print1ToMax(number, n, 0); } }
Reference:
http://blog.csdn.net/cxllyg/article/details/7651410
- coding - 输出1到N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出1到最大的N位数
- 输出 1 到最大的 N 位数
- 输出1到最大的n位数
- 输出1到最大的n位数
- 输出1到最大的N位数
- 《程序员的第一年》---------- 初级程序员到高级程序员的学习计划
- oracle 递归的使用
- memcached客户端(分布算法)
- spring中bean的一些知识点
- 博弈( 二)Sprague-Garundy函数
- coding - 输出1到N位数
- Java泛型之泛型参数
- POJ 3411 Paid Roads
- hdu 2616 Kill the monster(DFS)
- android 无法上网
- struts2中访问servlet API 的方法以及优劣性
- EditPlus 3.51 英文版附带破解方法
- C++之long long
- jffs2文件系统——概述 .