You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建从1开始到n位最大整数结尾的数字数组?

实现方法

核心逻辑是:先计算n位的最大整数(即10^n - 1),生成从1到该整数的连续序列,再将所有数字转为字符串后拼接。以下是几种常用语言的实现:

Python 实现

def concat_numbers(n):
    max_num = 10 ** n - 1
    return ''.join(str(i) for i in range(1, max_num + 1))

# 测试示例
print(concat_numbers(1))  # 输出 "123456789"
print(concat_numbers(2))  # 输出从1到99拼接的完整字符串

这种写法用生成器表达式逐个转换数字,不会一次性占用大量内存,适合n较大的场景。

JavaScript 实现

基础拼接版

function concatNumbers(n) {
    const maxNum = Math.pow(10, n) - 1;
    let result = '';
    for (let i = 1; i <= maxNum; i++) {
        result += i;
    }
    return result;
}

// 测试
console.log(concatNumbers(1)); // "123456789"

高效数组版

利用数组join减少字符串拼接的性能开销:

function concatNumbers(n) {
    const maxNum = Math.pow(10, n) - 1;
    const numArr = [];
    for (let i = 1; i <= maxNum; i++) {
        numArr.push(i);
    }
    return numArr.join('');
}

关键说明

  • n位最大整数的计算:比如n=1对应9,n=2对应99,通用公式为10^n - 1。
  • 大n场景注意事项:当n≥4时,生成的字符串会非常长,建议用流式处理或生成器方式,避免内存溢出。

内容的提问来源于stack exchange,提问作者Rogestav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:40:32