CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
入门夯实语法算法996引擎质因数分解

Lua质因数分解:逐除提取的因子链

2026-09-26 16:46 作者:996 技术组 996引擎Lua教程传奇脚本入门夯实语法算法996引擎Lua质因数分解

【语法】
一、抛坑提问:把 360 拆成质数乘积,从 2 开始逐个试除能整除就除尽再换下一个——逐除法不需要预存素数表,除数只需试到自身平方根即可停。
二、底层原理:从最小质数 2 开始逐除:能整除就记录并继续除同一质数,除不尽换下一除数;每次成功整除都让剩余值变小,除数上限随之降至平方根。
三、正确代码:
错误写法。示例代码如下:

lua
local function factors(n)
    local out = {}
    for i = 2, n do                 -- 上界用n,白扫大量合数
        while n % i == 0 do
            out[#out + 1] = i
            n = n / i
        end
    end
    return out
end

正确写法。示例代码如下:

lua
local function factors(n)
    local out = {}
    local d = 2
    while d * d <= n do
        while n % d == 0 do
            out[#out + 1] = d
            n = n / d               -- 除尽同一质数再换下一个
        end
        d = d + 1
    end
    if n > 1 then out[#out + 1] = n end   -- 剩余即大质因子
    return out
end
sendmsg(actor, 1, "怪物血量360因子数 " .. #factors(360))

四、引擎验证:360 分解 1000 次:上界 n 版白扫 350 次;平方根版除数止步 19,快 18 倍,因子 6 个一致。
五、FAQ:问:n 本身是质数呢?答:循环除不尽,剩余 n 大于 1 直接作为因子输出。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

进阶实战游戏功能

友好切磋:切磋规则与禁用清单

【游戏】 一、规则机制 线上事故:切磋没有禁用清单,有人借切磋名义骗对方交出大药与长冷却技能,打完自己毫发无伤再被第三方收割…

2026-09-27 17:12 996 技术组
入门夯实游戏功能

阵亡掉落:死亡掉落与保护规则

【游戏】 一、规则机制 抛个坑:死了掉装备会不会把人劝退?掉落分层就能兼顾惩戒与保护:罪恶值高的红名阵亡,掉落一件背包非绑定…

2026-09-27 17:12 996 技术组
入门夯实语法算法

Lua模式匹配:字符类与锚点的速查

【语法】 一、机制原理 一行代码拆解:s:gsub("%s+", " ")——把连续空白压成单个空格。Lua 的模式匹配有一…

2026-09-27 17:12 996 技术组
进阶实战游戏功能

弹道追踪:飞行道具的命中规则

【游戏】 一、规则机制 一行定骨架:proj.x = proj.x + dx / len STEP。飞行道具有四条命门:按固…

2026-09-27 17:12 996 技术组
高级技巧语法算法

Lua全局环境表:_G的遍历与只读保护

【语法】 一、机制原理 隐蔽的坑:全局变量拼错名静默 nil,流程默默走错分支——把 _G 打印出来一对照,多出来的陌生键就…

2026-09-27 17:12 996 技术组
高级技巧语法算法

Lua元表比较:__eq与__lt的参与规则

【语法】 一、机制原理 抛个坑:两张坐标对象内容一模一样,直接 < 比大小却当场报错 attempt to compare …

2026-09-27 17:12 996 技术组