递归版本:

void PrintData(char* pData, int size)
{// 从第一个不为'0'的位置开始输出for (int idx = 0; idx < size; ++idx){if (pData[idx] == '0') continue;std::cout << (pData + idx) << std::endl;return;}
}

void Print1ToMax(char* pData, int size, int curIdx)
{if (curIdx == size) // 赋值完毕{PrintData(pData, size);return;}// 为curIdx位赋值,然后递归为curIdx + 1位赋值for (int curData = 0; curData <= 9; ++curData){pData[curIdx] = curData + '0'; Print1ToMax(pData, size, curIdx + 1);}
}

void Print1ToMax(int bitCount)
{if (bitCount < 1) return;   char* pData = new char[bitCount + 1];memset(pData, '0', bitCount);pData[bitCount] = '\0'; // 尾部加上'\0',便于直接打印输出Print1ToMax(pData, bitCount, 0);
}

12. 打印1到最大的n位数(C++版本)相关推荐

  1. 【剑指offer-Java版】12打印1到最大的n位数

    打印1到最大的n位数:比较简单了,但是考虑n 很大的时候n位的最大999-9可能会超出表示范围 大数问题-需要使用字符串或者数组模拟大数加法 public class _Q12 {public voi ...

  2. 剑指offer面试题[12]-打印1到最大的n位数

    题目描述: 给定一个数字N,打印从1到最大的N位数. 输入: 每个输入文件仅包含一组测试样例. 对于每个测试案例,输入一个数字N(1<=N<=5). 输出: 对应每个测试案例,依次打印从1 ...

  3. java biginteger位数,Java之BigInteger(面试题12:打印1到最大的n位数)

    1.  以<剑指offer 名企面试官精讲典型编程题> - 面试题12:打印1到最大的n位数为例. 题目内容如下: 输入数字n,按顺序打印出从1到最大的n位十进制数. 比如输入3,则打印出 ...

  4. (补充)【打印1到最大的n位数】剑指offer——面试题12:打印1到最大的n位数

    剑指offer--面试题12:打印1到最大的n位数 此题在牛客网上没有OnlineJudge,在此补充两种做法. 参考网址:https://blog.csdn.net/yanxiaolx/articl ...

  5. 剑指offer_12_打印1到最大的n位数

    剑指offer_12_打印1到最大的n位数 题目:输入数字n,按顺序打印出1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 显然,这里面有一个小陷阱,当我们输入的n很 ...

  6. Python 输入任意整数,打印输入的数字是几位数

        Python 输入任意整数,打印输入的数字是几位数   根据题目,这个比较简单,但有很多人会想的比较复杂,复杂在键盘输入0开始,后面接任意个零都可以,那么,比如,输入00024,这个输入是没有 ...

  7. 打印1到最大的n位数(Java)

    题目: 输入数字n,按顺序打印出从1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 第一思路: 首先计算出n位数的最大十进制数,然后利用循环输出从1到最大的n位数. ...

  8. 面试题12:打印1到最大的n位数

    题目描述 输入数字n,按顺序打印出1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 题目分析 剑指Offer(纪念版)P94 代码实现 void Print1ToMa ...

  9. 打印1到最大的n位数

    这道题是面试过可能会遇到的手写代码题.如n为3时,那么需要打印1到999.需要注意的是当输入的n很大时,最大的n位数是不能通过int或者long long int来表示,此时可以使用字符数组来存储. ...

  10. 打印出数字字符串的偶位数

    #include <stdio.h> #pragma warning (disable:4996) void fun (long s, long t) { long sl = 10; s ...

最新文章

  1. 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍
  2. c#扩展方法奇思妙用变态篇四:string 的翻身革命
  3. 数组的最长平台c语言,2010台湾省C语言版高级
  4. word取消下一页_word文档页码设置及文中小箭头清除办法
  5. 编程神回复:数学不好能学编程吗?网友的回复令人满怀信心!
  6. 软件测试面试题:设计系统测试计划需要参考的项目文档?
  7. Riverbed宣布收购SD-WAN供应商Ocedo
  8. 埃及分数数学模型c语言,C语言将真分数分解为埃及分数代码解析
  9. 如何删除电脑上一些恶意安装软件?
  10. POJ3322解题报告
  11. Electron-开发第一个桌面应用
  12. IT从业者考证最高补贴30000元,持NISP二级/CISP证书可申请
  13. InstallShield 2010集成.net Framework 4的安装包制作
  14. C++ iomanip
  15. 如何安装和使用 Windows XP 的故障恢复控制台
  16. Visual Studio 和 .NET Framework 词汇表(vs2008)
  17. Flash大文件断点续传解决方案
  18. 基于SpringBoot框架的古风乐曲网站的设计与实现毕业设计源码271611
  19. 最新计算机系统smart图形,SmartArt逆天了,排得了版拼得了图
  20. java三维滑雪_知到电工电子学山东联盟第二单元章节测试答案

热门文章

  1. Facebook 游戏开发更新文档 API 参考文档 v5.0
  2. 深入浅出Linux设备驱动编程--复杂设备驱动
  3. Redis集群功能配置以及Redis Sentinel配置
  4. 线程间操作无效: 从不是创建控件“listBox1”的线程访问它
  5. 如何删除DNN网站中管理菜单中的一些项
  6. C#3.0学习(2)---对象集合初始化器
  7. idea tomcat 发布web工程全过程
  8. 25.docker commit
  9. 119. PHP 性能问题(2)
  10. 4. PHP之活动记录