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

正方形顶点4盏灯泡状态迭代问题:第1000步状态求解

正方形顶点4盏灯泡状态迭代问题:第1000步状态求解

问题背景

正方形四个顶点A、B、C、D上各有一盏灯泡,初始状态全部为亮。迭代规则如下:

  • 每往前走一步时,如果前一个顶点的灯泡是亮的,就切换下一个顶点灯泡的状态(亮变灭,灭变亮);
  • 如果前一个顶点的灯泡是灭的,则不对下一个灯泡做任何操作。

给大家举个实际迭代的例子:

从A出发走到B:因为A初始是亮的,所以切换B的状态(B从亮变灭);
从B走到C:此时B是灭的,所以保持C的亮状态不变;
从C走到D:C是亮的,切换D的状态(D从亮变灭);
从D走回A:D是灭的,保持A的亮状态不变。
走完4步后,灯泡状态为:A亮、B灭、C亮、D灭。

我们需要求解的核心问题是:第1000步时,四盏灯泡的状态是什么?

我的解法思路

手动算到第1000步显然不现实,所以我想到了「找循环周期」的方法:

  1. 模拟每一步的迭代过程,全程记录灯泡的状态;
  2. 当发现某个状态重复出现时,就能确定状态的循环周期;
  3. 最后用模运算快速定位第1000步在循环中的位置,直接得到结果。

实操与结果

我用Python写了个小脚本模拟整个迭代过程,跑下来发现了清晰的循环规律:

  • 状态[0, 0, 1, 0](注:数组顺序对应A、B、C、D,0代表灭,1代表亮)首次出现在第39步,持续到第42步;
  • 之后这个状态在第99-102步再次出现,后续每60步就会完整重复一次这个周期。

通过周期计算:(1000 - 39) % 60 = 961 % 60 = 1,说明第1000步的状态和第39+1=40步的状态完全一致,也就是[0, 0, 1, 0]——即A灭、B灭、C亮、D灭。

备注:内容来源于stack exchange,提问作者Son Mat Bukucu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 11:52:57