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

代码开发:求重复循环计数变量的计算公式

实现循环计数:1 1 1 2 2 2 3 3 3 1 1 1...的计算公式

嘿,这个循环计数需求其实很好解决,用整数除法+取模运算就能写出简洁的公式,不用复杂的条件判断!

核心公式(计数变量n从1开始)

((n - 1) // 3) % 3 + 1

公式拆解解释

咱们一步步看为啥这个公式能满足你的需求:

  • n-1:把从1开始的计数转成从0开始的索引(比如第1次变成0,第3次变成2,第4次变成3),方便后续分组
  • // 3:每3次归为一组,得到组号(0对应前3次,1对应中间3次,2对应后3次,3对应下一轮前3次,以此类推)
  • % 3:让组号在0、1、2之间循环,确保超过3的组号回到0
  • +1:把0-2的组号转成你需要的1-3的计数结果

验证示例

咱们代入几个值测试下:

  • n=1 → ((1-1)//3)%3+1 = 0%3+1 = 1
  • n=3 → ((3-1)//3)%3+1 = 0%3+1 = 1
  • n=4 → ((4-1)//3)%3+1 = 1%3+1 = 2
  • n=6 → ((6-1)//3)%3+1 = 1%3+1 = 2
  • n=7 → ((7-1)//3)%3+1 = 2%3+1 = 3
  • n=9 → ((9-1)//3)%3+1 = 2%3+1 = 3
  • n=10 → ((10-1)//3)%3+1 = 3%3+1 = 1
    完全符合你要的循环规律!

代码示例(Python)

# 打印前12次的计数结果
for n in range(1, 13):
    count = ((n - 1) // 3) % 3 + 1
    print(count, end=' ')
# 输出:1 1 1 2 2 2 3 3 3 1 1 1

小补充:如果计数变量从0开始

要是你的计数是从0开始的(比如数组下标),公式可以简化成:

(n // 3) % 3 + 1

比如n=0→0//3=0→0%3+1=1,n=3→1%3+1=2,效果一样~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:14:46