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

如何仅用单个变量生成0、1、-1、2、-2…交替正负递增序列?

单变量生成目标序列的Lua实现

可以仅用单个变量n实现,核心是通过判断当前n的状态,用递推公式更新值,无需额外变量。以下是具体实现:

实现代码

local n = 0  -- 起始值为0,符合要求
-- 示例:输出前9项序列
for _ = 1, 9 do
    print(n)
    -- 递推更新n,生成下一个序列值
    n = n == 0 and 1 or (n > 0 and -n or (-n + 1))
end

逻辑说明

  • 当n为0时,下一个值为1;
  • 当n为正数时,下一个值取其相反数(如1→-1,2→-2);
  • 当n为负数时,下一个值为其绝对值加1(如-1→2,-2→3)。

运行上述代码会输出目标序列:0, 1, -1, 2, -2, 3, -3, 4, -4。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:02:25