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

如何用递归方法求解正负交替整数序列的第n项

正负交替递增序列第n项递归实现方案

这个序列的核心规则非常清晰:

  • 第n项的绝对值等于n
  • 奇数项为正,偶数项为负

递归实现只需要明确终止条件和递推逻辑两部分即可,下面是两种常用的实现思路:

思路1:基于奇偶判断的直观实现

这种方法逻辑最易懂,不需要复杂的数学推导,递归深度等于n,时间复杂度O(n),空间复杂度O(n)(递归栈开销)。

实现逻辑:

  • 终止条件:n=1时直接返回1(序列首项)
  • 递推步骤:先递归计算得到第n-1项,取其绝对值加1得到当前项的绝对值,再根据n的奇偶性赋值符号

Python 示例代码

def alternating_sequence(n):
    if n == 1:
        return 1
    prev_val = alternating_sequence(n-1)
    current_abs = abs(prev_val) + 1
    return current_abs if n % 2 == 1 else -current_abs

思路2:基于相邻项符号反转的实现

观察序列规律可以发现:每一项都等于「前一项的绝对值加1后,符号取反」,可以省去奇偶判断的步骤。

C 示例代码

int alternating_sequence(int n) {
    // 终止条件
    if (n == 1) return 1;
    int prev = alternating_sequence(n-1);
    // 前一项为正,当前项绝对值加1后取反;前一项为负,当前项绝对值减1后取反
    return -(prev > 0 ? prev + 1 : prev - 1);
}

验证示例

输入不同n的返回结果如下,完全符合序列规则:

  • n=3 → 返回3
  • n=6 → 返回-6
  • n=9 → 返回9
  • n=10 → 返回-10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:45:03