面试题12:打印1到最大的n位数
题目描述
输入数字n,按顺序打印出1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。
题目分析
剑指Offer(纪念版)P94
代码实现
void Print1ToMaxOfNDigits_2(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';Print1ToMaxOfNDigitsRecursively(number, n, 0);}delete[] number;
}void Print1ToMaxOfNDigitsRecursively(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';Print1ToMaxOfNDigitsRecursively(number, length, index + 1);}
}// 字符串number表示一个数字,数字有若干个0开头
// 打印出这个数字,并忽略开头的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){printf("%c", number[i]);}}printf("\t");
}
转载于:https://www.cnblogs.com/xwz0528/p/4831362.html
面试题12:打印1到最大的n位数相关推荐
- 剑指offer面试题[12]-打印1到最大的n位数
题目描述: 给定一个数字N,打印从1到最大的N位数. 输入: 每个输入文件仅包含一组测试样例. 对于每个测试案例,输入一个数字N(1<=N<=5). 输出: 对应每个测试案例,依次打印从1 ...
- 【剑指offer-Java版】12打印1到最大的n位数
打印1到最大的n位数:比较简单了,但是考虑n 很大的时候n位的最大999-9可能会超出表示范围 大数问题-需要使用字符串或者数组模拟大数加法 public class _Q12 {public voi ...
- java biginteger位数,Java之BigInteger(面试题12:打印1到最大的n位数)
1. 以<剑指offer 名企面试官精讲典型编程题> - 面试题12:打印1到最大的n位数为例. 题目内容如下: 输入数字n,按顺序打印出从1到最大的n位十进制数. 比如输入3,则打印出 ...
- (补充)【打印1到最大的n位数】剑指offer——面试题12:打印1到最大的n位数
剑指offer--面试题12:打印1到最大的n位数 此题在牛客网上没有OnlineJudge,在此补充两种做法. 参考网址:https://blog.csdn.net/yanxiaolx/articl ...
- 计算机二级试题第12套,计算机等级考试二级VFP机试试题12
第十二套 一.基本操作题(共四小题,第1和2题是7分.第3和4题是8分) 1.打开数据库PROD_M及数据库设计器,其中的两个表的必要的索引已经建立, 为这两个表建立永久性联系 2.设置CATEGOR ...
- 浙江高校计算机等级考试二级办公,浙江省高校计算机等级考试二级(高级办公)试题12.ppt...
<浙江省高校计算机等级考试二级(高级办公)试题12.ppt>由会员分享,可在线阅读,更多相关<浙江省高校计算机等级考试二级(高级办公)试题12.ppt(11页珍藏版)>请在人人 ...
- 面试题17: 打印从1到最大的n位数
/******************************************************************* *<剑指Offer--名企面试官精讲典型编程题>C ...
- 剑指offer--面试题12
题目:打印从1~最大的n位数 分析:知道陷阱在哪,即n很大时若用通常的int,long会溢出:想到用字符串解决,这涉及到字符转数字及反过来. 刚开始纠结于字符串怎么加1,想了片刻,觉得应该取出最后一位 ...
- 剑指offer_12_打印1到最大的n位数
剑指offer_12_打印1到最大的n位数 题目:输入数字n,按顺序打印出1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 显然,这里面有一个小陷阱,当我们输入的n很 ...
- Python 输入任意整数,打印输入的数字是几位数
Python 输入任意整数,打印输入的数字是几位数 根据题目,这个比较简单,但有很多人会想的比较复杂,复杂在键盘输入0开始,后面接任意个零都可以,那么,比如,输入00024,这个输入是没有 ...
最新文章
- tensorflow学习(7. GAN实现MNIST分类)
- javascript函数上的prototype属性的理解
- 3部世界顶级宇宙纪录片,献给对宇宙万物充满好奇的你
- php循环,die/exit脚本执行控制,文件载入及错误控制
- JS表单验证,最详细步骤,代码
- 【生信MOOC】生信数据库1
- [机缘参悟-65]:《兵者,诡道也》-7-三十六计解读-败战计
- python中双重循环_python中双循环
- PQ8.05硬盘分区图文教程
- Bigemap APP(Android)手机离线地图使用说明
- w7计算机文件夹打开怎么设置密码,win7电脑文件夹怎么设置密码
- Sexagenary Cycle(干支纪年)
- 洛谷 P4643 [国家集训队]阿狸和桃子的游戏
- 抽象基类与接口,共性与个性的选择
- CSS 轮廓(outline)/CSS margin(外边距)/CSS padding(填充)
- 批量修改视频尺寸,如此操作简单又专业
- Python快速入门 满满都是干货!
- 超详细:SwiftUI文本排版布局和动态字体缩放的奥秘
- round robin arbiter 轮询仲裁器设计
- Paypal 在线支付接口