当前位置: 首页 > article >正文

大衍数列-蓝桥杯?-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

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

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


http://www.kler.cn/a/271149.html

相关文章:

  • Rocky Linux 基本工具的安装
  • javaEE——线程的等待和结束
  • 9.用FFmpeg测试H.264文件的解码时间
  • 网格bfs,LeetCode 2684. 矩阵中移动的最大次数
  • 基于最小二乘法的太阳黑子活动模型参数辨识和预测matlab仿真
  • 第二门课:改善深层神经网络<超参数调试、正则化及优化>-超参数调试、Batch正则化和程序框架
  • Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)
  • Github Copilot 工具,无需账号,一键激活
  • 电脑那个部件坏了或者是哪个软件需要修复来看价钱
  • Docker容器化技术(使用Docker搭建论坛)
  • Rust写一个wasm入门并在rspack和vite项目中使用(一)
  • VLC抓取m3u8视频
  • Rust的所有权和生命周期机制的本质
  • 解析服务器下载速度:上行、下行与带宽之谜
  • 【Python】新手入门学习:详细介绍接口分隔原则(ISP)及其作用、代码示例
  • 深入探讨GPT系列与其他NLP架构的流行度差异及其应用解析
  • (一)、机器人时间同步方案分析
  • 数据挖掘简介与应用领域概述
  • #QT(MainWindow初尝---文本编辑器)
  • Python深度学习之路:TensorFlow与PyTorch对比【第140篇—Python实现】