剑指offer面试题[12]-打印1到最大的n位数
- 题目描述:
-
给定一个数字N,打印从1到最大的N位数。
- 输入:
-
每个输入文件仅包含一组测试样例。
对于每个测试案例,输入一个数字N(1<=N<=5)。
- 输出:
-
对应每个测试案例,依次打印从1到最大的N位数。
-
#include<iostream> using namespace std; bool Increment(char *a) {bool isOverFlow = false; //第一位是否产生进位,若产生进位,说明已经是最大的n位数int nTakeOver = 0; //产生进位int len = strlen(a);for (int i = len - 1; i >= 0; i--){int nSum = a[i] - '0' + nTakeOver;if (i == len - 1)nSum++; //每次在上一次的值上加1if (nSum >= 10){if (i == 0) //nSum>=10且是第一位,说明已经打印了最大的数,isOverFlow = true; //比如99,当第一位(左一)等于10时,说明此时已经到达最大的数else{nSum -= 10;nTakeOver = 1;a[i] = nSum + '0';}}else //当前数小于10,直接输出就行了{a[i] = nSum + '0'; break;}}return isOverFlow; } void PrintNumber(char *a) {int i = 0;while (a[i] == '0')i++;puts(a+i); }int main() {int n;cin >> n;char *a = new char[n + 1];memset(a,'0',n);a[n] = '\0';while (!Increment(a))PrintNumber(a);delete[] a;a = NULL; }
剑指offer面试题[12]-打印1到最大的n位数相关推荐
- (补充)【打印1到最大的n位数】剑指offer——面试题12:打印1到最大的n位数
剑指offer--面试题12:打印1到最大的n位数 此题在牛客网上没有OnlineJudge,在此补充两种做法. 参考网址:https://blog.csdn.net/yanxiaolx/articl ...
- 【剑指offer-Java版】12打印1到最大的n位数
打印1到最大的n位数:比较简单了,但是考虑n 很大的时候n位的最大999-9可能会超出表示范围 大数问题-需要使用字符串或者数组模拟大数加法 public class _Q12 {public voi ...
- 剑指Offer - 面试题17. 打印从1到最大的n位数
1. 题目 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数 999. 示例 1: 输入: n = 1 输出: [1,2,3,4, ...
- 剑指offer 面试题17. 打印从1到最大的n位数
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数 999. 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7, ...
- 剑指offer面试题17. 打印从1到最大的n位数
题目描述 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数 999. 思路 详见链接 代码 class Solution:def ...
- 剑指Offer - 面试题12. 矩阵中的路径(DFS回溯)
1. 题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一格,那么 ...
- 剑指offer面试题12. 矩阵中的路径(矩阵搜索)(深度优先搜索)(剪枝)
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一格,那么该 ...
- 剑指offer——面试题61:按之字形顺序打印二叉树
剑指offer--面试题61:按之字形顺序打印二叉树 Solution1: 基于上一题的解法,缺点:效率低下! /* struct TreeNode {int val;struct TreeNode ...
- 剑指offer——面试题60:把二叉树打印成多行
剑指offer--面试题60:把二叉树打印成多行 Solution1: 20180911重做.经典题目.牢记做法! /* struct TreeNode {int val;struct TreeNod ...
最新文章
- 通信错误:(-1)[描述:无法解析路由器DDNS地址,请检查DDNS状态.] 解析办法
- ajax实现动态及时刷新表格数据_如何爬取网页数据
- hdu5386(暴力)
- 《深入理解Hadoop(原书第2版)》——2.3Hadoop系统的组成
- odata service authorization check in backend
- 从内置函数看 Python 的设计思想:len(x) 是否击败 x.len(),
- Deep Glow for mac(AE高级辉光特效插件)支持ae2021
- html5各种页面切换效果和模态对话框
- 供应XBF-01型多功存储介质粉碎机
- 传说中的世界500强面试题-推理能力(1)
- 《禅者的初心》读书笔记(1)
- 学医后才知道的小知识...
- docker安装和一些基本操作
- 算法岗面经总结(快看漫画)
- 10讲学会C语言之第一讲:编程前的准备
- flex与相对定位在国内双核浏览器极速模式下的兼容性问题
- 成为江苏卫视《一站到底》节目站神之策略
- stm32cubeMX学习六、Freertos配置综合实践(移植大彩串口屏程序框架)
- ECS开发(一、)ECS是什么?
- Excel 删除筛选出来的行
热门文章
- android 时钟动态图标,Android 8.1 Launcher3实现动态指针时钟功能
- 【毕业答辩】毕业论文答辩温馨提示
- pb dw graph增加series_如何快速增加tiktok视频的播放量
- 为啥有人说每个程序员都应该这学习5种编程语言?
- 全国计算机汉字录入是什么,什么是汉字录入?
- 计算机管理储存u盘无法使用,Win7系统退出U盘后重新插入电脑无法使用怎么办
- PyTorch: 各种图像格式相互转化
- 印刷(烫金)缺陷在线检测系统
- 94. Ext.MessageBox消息框
- fl2440hello world模块驱动编写