12. 打印1到最大的n位数(C++版本)
递归版本:
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++版本)相关推荐
- 【剑指offer-Java版】12打印1到最大的n位数
打印1到最大的n位数:比较简单了,但是考虑n 很大的时候n位的最大999-9可能会超出表示范围 大数问题-需要使用字符串或者数组模拟大数加法 public class _Q12 {public voi ...
- 剑指offer面试题[12]-打印1到最大的n位数
题目描述: 给定一个数字N,打印从1到最大的N位数. 输入: 每个输入文件仅包含一组测试样例. 对于每个测试案例,输入一个数字N(1<=N<=5). 输出: 对应每个测试案例,依次打印从1 ...
- 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 ...
- 剑指offer_12_打印1到最大的n位数
剑指offer_12_打印1到最大的n位数 题目:输入数字n,按顺序打印出1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 显然,这里面有一个小陷阱,当我们输入的n很 ...
- Python 输入任意整数,打印输入的数字是几位数
Python 输入任意整数,打印输入的数字是几位数 根据题目,这个比较简单,但有很多人会想的比较复杂,复杂在键盘输入0开始,后面接任意个零都可以,那么,比如,输入00024,这个输入是没有 ...
- 打印1到最大的n位数(Java)
题目: 输入数字n,按顺序打印出从1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 第一思路: 首先计算出n位数的最大十进制数,然后利用循环输出从1到最大的n位数. ...
- 面试题12:打印1到最大的n位数
题目描述 输入数字n,按顺序打印出1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 题目分析 剑指Offer(纪念版)P94 代码实现 void Print1ToMa ...
- 打印1到最大的n位数
这道题是面试过可能会遇到的手写代码题.如n为3时,那么需要打印1到999.需要注意的是当输入的n很大时,最大的n位数是不能通过int或者long long int来表示,此时可以使用字符数组来存储. ...
- 打印出数字字符串的偶位数
#include <stdio.h> #pragma warning (disable:4996) void fun (long s, long t) { long sl = 10; s ...
最新文章
- 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍
- c#扩展方法奇思妙用变态篇四:string 的翻身革命
- 数组的最长平台c语言,2010台湾省C语言版高级
- word取消下一页_word文档页码设置及文中小箭头清除办法
- 编程神回复:数学不好能学编程吗?网友的回复令人满怀信心!
- 软件测试面试题:设计系统测试计划需要参考的项目文档?
- Riverbed宣布收购SD-WAN供应商Ocedo
- 埃及分数数学模型c语言,C语言将真分数分解为埃及分数代码解析
- 如何删除电脑上一些恶意安装软件?
- POJ3322解题报告
- Electron-开发第一个桌面应用
- IT从业者考证最高补贴30000元,持NISP二级/CISP证书可申请
- InstallShield 2010集成.net Framework 4的安装包制作
- C++ iomanip
- 如何安装和使用 Windows XP 的故障恢复控制台
- Visual Studio 和 .NET Framework 词汇表(vs2008)
- Flash大文件断点续传解决方案
- 基于SpringBoot框架的古风乐曲网站的设计与实现毕业设计源码271611
- 最新计算机系统smart图形,SmartArt逆天了,排得了版拼得了图
- java三维滑雪_知到电工电子学山东联盟第二单元章节测试答案
热门文章
- Facebook 游戏开发更新文档 API 参考文档 v5.0
- 深入浅出Linux设备驱动编程--复杂设备驱动
- Redis集群功能配置以及Redis Sentinel配置
- 线程间操作无效: 从不是创建控件“listBox1”的线程访问它
- 如何删除DNN网站中管理菜单中的一些项
- C#3.0学习(2)---对象集合初始化器
- idea tomcat 发布web工程全过程
- 25.docker commit
- 119. PHP 性能问题(2)
- 4. PHP之活动记录