提交时间:2026-03-06 15:15:08

运行 ID: 85151

def arithmetic_term_recursive(n): """ 使用递归方法计算等差数列第n项 等差数列:首项 a0 = 1,公差 d = 2 an = a0 + n * d = 1 + 2n 递归定义: a0 = 1 an = a(n-1) + 2 (n > 0) """ if n == 0: return 1 else: return arithmetic_term_recursive(n - 1) + 2 def arithmetic_term_iterative(n): """ 使用递推(迭代)方法计算等差数列第n项 """ term = 1 # 初始值 a0 = 1 for i in range(1, n + 1): term += 2 # 每次加公差2 return term def main(): try: n = int(input()) if n < 0: print("请输入非负整数") else: result_recursive = arithmetic_term_recursive(n) result_iterative = arithmetic_term_iterative(n) # 验证两种方法结果一致 assert result_recursive == result_iterative print(result_recursive) except ValueError: print("请输入有效的整数") if __name__ == "__main__": main()