OJ链接——打印从1到最大的n位数

1. 题目描述

  • 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。
  • 比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
  1. 用返回一个整数列表来代替打印
  2. n 为正整数,0 < n <= 5

2. 示例

在这里插入图片描述

3. 分析思路

  • 这里我们首先要清楚n位数中最大的数字是谁
  • 实际上就是10的n次方-1 (10^n-1)
  • 比如:
  • 1位数:9 = 10^1 - 1
  • 2位数:99 = 10^2 - 1
  • 3位数:999 = 10^3 - 1
  • ……

★ 这个弄清楚后动态申请空间,将数值填入就可以了
需要注意的是,小标是从0开始的,而数值是从1开始的

4. 完整代码

  • 通过上面的思路我们可以写出以下代码
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 最大位数
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 */

int* printNumbers(int n, int* returnSize ) 
{
   
    *returnSize = pow(10,n) - 1;//确定最大的数字
    int* arr = (int*)malloc(sizeof(int) * (*returnSize));//申请足够大的空间

    for (int i=0; i<*returnSize; i++)
    {
   
        arr[i] = i + 1;//下标从0开始,而数值从1开始
    }
    return arr;
}
  • 运行结果:

在这里插入图片描述

最后,
恭喜你又遥遥领先了别人!
在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 21:38:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 21:38:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 21:38:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 21:38:02       20 阅读

热门阅读

  1. 00_C语言学习笔记

    2024-02-23 21:38:02       32 阅读
  2. 算法训练营day32,贪心算法6

    2024-02-23 21:38:02       38 阅读
  3. html开启严格模式

    2024-02-23 21:38:02       36 阅读
  4. MYSQL--触发器

    2024-02-23 21:38:02       29 阅读
  5. Linux(四)__用户和用户组管理

    2024-02-23 21:38:02       24 阅读
  6. C# 类型的默认值(C# 参考)

    2024-02-23 21:38:02       35 阅读
  7. 【leetcode热题】二叉树展开为链表

    2024-02-23 21:38:02       34 阅读
  8. 服务器丢包的原因及解决方法

    2024-02-23 21:38:02       38 阅读
  9. Oracle执行计划中字段后(+)的意思

    2024-02-23 21:38:02       29 阅读
  10. Flutter 中 Gap 和 SizedBox 的比较与区别

    2024-02-23 21:38:02       32 阅读