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

如何不使用Python str()函数生成整数组合的直角回文三角形?

生成直角回文三角形的优化实现

目标输出

1
121
12321
1234321
123454321

原有实现代码

def generate_palindromic_triangle(n):
    for i in range(1, n + 1):
        line = ""
        for j in range(1, i + 1):
            line += str(j)
        for j in range(i - 1, 0, -1):
            line += str(j)
        print(line)

# Example usage
generate_palindromic_triangle(5)

约束条件

  • 仅使用整数进行操作
  • 时间复杂度为线性或更低
  • 最多使用1条print语句

优化后的代码

def generate_palindromic_triangle(n):
    lines = []
    ones_num = 0
    for i in range(1, n + 1):
        ones_num = ones_num * 10 + 1  # 生成由i个1组成的整数
        lines.append(str(ones_num ** 2))
    print('\n'.join(lines))

# 示例调用
generate_palindromic_triangle(5)

实现说明

  1. 整数操作实现:利用数学规律——第i行的回文数等于i个1组成的整数的平方(比如3个1组成的111,平方后是12321),通过ones_num = ones_num *10 +1逐步生成对应整数,再计算平方,全程仅用整数运算。
  2. 时间复杂度:循环执行n次,每次整数运算都是O(1)操作,最后拼接字符串和打印的总时间为O(n),满足线性复杂度要求。
  3. 单条print语句:将所有行的字符串结果存入列表,最后用换行符拼接成一个整体字符串,一次打印完成输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:00:07