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

已知数列奇偶位差值规律求第n项的更简单实现方法

交替差值数列第n项简化实现方案

你的现有实现逻辑是正确的,确实可以进一步简化,核心是利用数列的2步周期特性,把奇偶分支的公式合并。

简化思路

这个数列的差值每2项循环一次:奇数位后加d1,偶数位后加d2,每完成2次步进,总增量固定为d1 + d2。我们可以直接通过步进次数的整数除法和取余统一计算:

  • 总步进数 = n - 1
  • 完整周期数 = 总步进数 // 2
  • 剩余步进数 = 总步进数 % 2
  • 最终值 = a + 完整周期数 * (d1 + d2) + 剩余步进数 * d1

简化后代码

a = int(input())
b = int(input())
c = int(input())
n = int(input())
d1, d2 = b - a, c - b
step = n - 1
res = a + (step // 2) * (d1 + d2) + (step % 2) * d1
print(res)

验证示例

用你给出的示例a=97、b=100、c=98、n=5验证:
d1=3,d2=-2,step=4
完整周期数=4//2=2,剩余步进数=0
res=97 + 2*(3-2) + 0*3 = 99,和示例结果一致。

优化点说明

  • 去掉了分支判断,代码更简洁
  • 全程使用整数运算,无需额外做int类型转换,避免大数值场景下浮点运算的精度隐患
  • 执行效率更高,减少了分支跳转的开销

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:54:05