题目描述:

给定一个数字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. (补充)【打印1到最大的n位数】剑指offer——面试题12:打印1到最大的n位数

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

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

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

  3. 剑指Offer - 面试题17. 打印从1到最大的n位数

    1. 题目 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数 999. 示例 1: 输入: n = 1 输出: [1,2,3,4, ...

  4. 剑指offer 面试题17. 打印从1到最大的n位数

    输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数 999. 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7, ...

  5. 剑指offer面试题17. 打印从1到最大的n位数

    题目描述 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数.比如输入 3,则打印出 1.2.3 一直到最大的 3 位数 999. 思路 详见链接 代码 class Solution:def ...

  6. 剑指Offer - 面试题12. 矩阵中的路径(DFS回溯)

    1. 题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一格,那么 ...

  7. 剑指offer面试题12. 矩阵中的路径(矩阵搜索)(深度优先搜索)(剪枝)

    题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一格,那么该 ...

  8. 剑指offer——面试题61:按之字形顺序打印二叉树

    剑指offer--面试题61:按之字形顺序打印二叉树 Solution1: 基于上一题的解法,缺点:效率低下! /* struct TreeNode {int val;struct TreeNode ...

  9. 剑指offer——面试题60:把二叉树打印成多行

    剑指offer--面试题60:把二叉树打印成多行 Solution1: 20180911重做.经典题目.牢记做法! /* struct TreeNode {int val;struct TreeNod ...

最新文章

  1. 通信错误:(-1)[描述:无法解析路由器DDNS地址,请检查DDNS状态.] 解析办法
  2. ajax实现动态及时刷新表格数据_如何爬取网页数据
  3. hdu5386(暴力)
  4. 《深入理解Hadoop(原书第2版)》——2.3Hadoop系统的组成
  5. odata service authorization check in backend
  6. 从内置函数看 Python 的设计思想:len(x) 是否击败 x.len(),
  7. Deep Glow for mac(AE高级辉光特效插件)支持ae2021
  8. html5各种页面切换效果和模态对话框
  9. 供应XBF-01型多功存储介质粉碎机
  10. 传说中的世界500强面试题-推理能力(1)
  11. 《禅者的初心》读书笔记(1)
  12. 学医后才知道的小知识...
  13. docker安装和一些基本操作
  14. 算法岗面经总结(快看漫画)
  15. 10讲学会C语言之第一讲:编程前的准备
  16. flex与相对定位在国内双核浏览器极速模式下的兼容性问题
  17. 成为江苏卫视《一站到底》节目站神之策略
  18. stm32cubeMX学习六、Freertos配置综合实践(移植大彩串口屏程序框架)
  19. ECS开发(一、)ECS是什么?
  20. Excel 删除筛选出来的行

热门文章

  1. android 时钟动态图标,Android 8.1 Launcher3实现动态指针时钟功能
  2. 【毕业答辩】毕业论文答辩温馨提示
  3. pb dw graph增加series_如何快速增加tiktok视频的播放量
  4. 为啥有人说每个程序员都应该这学习5种编程语言?
  5. 全国计算机汉字录入是什么,什么是汉字录入?
  6. 计算机管理储存u盘无法使用,Win7系统退出U盘后重新插入电脑无法使用怎么办
  7. PyTorch: 各种图像格式相互转化
  8. 印刷(烫金)缺陷在线检测系统
  9. 94. Ext.MessageBox消息框
  10. fl2440hello world模块驱动编写