提交时间:2026-03-06 15:19:58

运行 ID: 85160

def fibonacci(n): """ 计算斐波那契数列第n项 斐波那契数列: F(1)=1, F(2)=1, F(n)=F(n-1)+F(n-2) Args: n: 正整数,表示要计算的项数 Returns: 第n项斐波那契数 """ if n <= 2: return 1 # 使用动态规划优化计算效率 # 只需要保存前两项的值 prev2 = 1 # F(n-2) prev1 = 1 # F(n-1) # 从第3项开始计算到第n项 for i in range(3, n + 1): current = prev1 + prev2 # F(n) = F(n-1) + F(n-2) prev2 = prev1 # 更新F(n-2) prev1 = current # 更新F(n-1) return prev1 def main(): """ 主函数:处理多组测试数据,计算每组斐波那契数列的值 """ try: # 读取测试数据组数 test_count = int(input()) # 处理每组测试数据 for _ in range(test_count): # 读取要计算的项数 position = int(input()) # 验证输入范围 if position < 1 or position > 20: print("输入超出范围(1-20)") continue # 计算并输出结果 result = fibonacci(position) print(result) except ValueError: print("输入格式错误,请输入有效的整数") except Exception as e: print(f"程序执行出错: {e}") # 程序入口 if __name__ == "__main__": main()