大衍数列-蓝桥杯?-Lua 中文代码解题第2题

大衍数列-蓝桥杯?-Lua 中文代码解题第2题

中国古代文献中,曾记载过"大衍数列", 主要用于解释中国传统文化中的太极衍生原理。

它的前几项是:0、2、4、8、12、18、24、32、40、50 ...

其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。

解题思路:

中国古代数学中提及的"大衍数列",在《周髀算经》中有相关的记载,这个数列也称为杨辉三角或者帕斯卡三角(Pascal's triangle)的部分边沿数字,不过此处描述的数列生成规则是独特的。

对于上面提到的大衍数列的规律,我们可以根据题目描述来明确其通项公式:

接下来,我们可以编写一个函数或算法来生成这个数列的前几项。下面是一个简单的解题思路概述:

  1. 定义一个空列表来存储数列。
  2. 遍历从1开始的序号(因为中国传统的数列计数通常从1开始)。
  3. 判断序号是否为奇数或偶数。
  4. 根据不同的序号类型,使用相应的公式计算数列项,并将其添加到列表中。
  5. 输出生成的数列。
中文代码 -- 无注释版
复制代码
函数 大衍数列(n)
    局部 数列 = {}
    因为 序号 = 1, n 做
        如果 序号 % 2 == 0 即
            数列[序号] = 序号 * 序号 / 2
        否则
            数列[序号] = (序号 * 序号 - 1) / 2
        结束
    结束

    因为 _, 值 属于 序配(数列) 做
        输出(值)
    结束
结束

大衍数列(100)
中文代码 -- 带注释的如下:
复制代码
-- 定义一个函数,生成大衍数列的前n项
函数 大衍数列(n)
    -- 初始化存储数列的数组
    局部 数列 = {}
    因为 序号 = 1, n 做

        -- 根据序号判断是奇数还是偶数项,并计算对应的数列值
        如果 序号 % 2 == 0 即 -- 偶数项
            数列[序号] = 序号 * 序号 / 2
        否则 -- 奇数项
            数列[序号] = (序号 * 序号 - 1) / 2
        结束
    结束

    -- 遍历并打印生成的大衍数列
    因为 _, 值 属于 序配(数列) 做

        输出(值)
    结束
结束

-- 调用函数,生成并打印大衍数列的前100项
大衍数列(100)
这段代码运行后将会输出:输出100个数字

0.0

2.0

4.0

8.0

12.0

18.0

24.0

32.0

40.0

50.0

60.0

72.0

84.0

98.0

112.0

128.0

144.0

162.0

180.0

200.0

220.0

242.0

264.0

288.0

312.0

338.0

364.0

392.0

420.0

450.0

480.0

512.0

544.0

578.0

612.0

648.0

684.0

722.0

760.0

800.0

840.0

882.0

924.0

968.0

1012.0

1058.0

1104.0

1152.0

1200.0

1250.0

1300.0

1352.0

1404.0

1458.0

1512.0

1568.0

1624.0

1682.0

1740.0

1800.0

1860.0

1922.0

1984.0

2048.0

2112.0

2178.0

2244.0

2312.0

2380.0

2450.0

2520.0

2592.0

2664.0

2738.0

2812.0

2888.0

2964.0

3042.0

3120.0

3200.0

3280.0

3362.0

3444.0

3528.0

3612.0

3698.0

3784.0

3872.0

3960.0

4050.0

4140.0

4232.0

4324.0

4418.0

4512.0

4608.0

4704.0

4802.0

4900.0

5000.0

我就想问这样子做代码,是不是有点入门水平,

即可以少做中文注释,大家也能看得懂。

相关推荐
方安乐27 分钟前
python之向量、向量和、向量点积
开发语言·python·numpy
一只幸运猫.2 小时前
2026Java 后端面试完整版|八股简答 + AI 大模型集成技术(最新趋势)
人工智能·面试·职场和发展
小小小米粒2 小时前
Collection单列集合、Map(Key - Value)双列集合,多继承实现。
java·开发语言·windows
czhc11400756633 小时前
C# 428 线程、异步
开发语言·c#
:1213 小时前
java基础
java·开发语言
SilentSamsara4 小时前
Python 环境搭建完整指南:从下载安装到运行第一个程序
开发语言·python
小短腿的代码世界4 小时前
Qt文件系统与IO深度解析:从QFile到异步文件操作
开发语言·qt
harder3215 小时前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
jinanwuhuaguo6 小时前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
Rust研习社6 小时前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust