Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
140885 胡海峰老师 求序列的前n项和 Python3 Wrong Answer 24 MS 3784 KB 1352 2025-12-20 14:16:27

Tests(0/10):


Code:

# 求分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13... 的前n项和 def fibonacci_fraction_sum_simple(n): if n <= 0: return 0.0 # 生成斐波那契数列:1, 2, 3, 5, 8, 13, 21, 34... # 我们需要前n+1个斐波那契数 fib = [0, 1] # 初始化:F0=0, F1=1(标准的斐波那契定义) for i in range(2, n + 2): # 生成到F(n+1) fib.append(fib[i - 1] + fib[i - 2]) # 计算前n项和 # 第i项 = F(i+2)/F(i+1),其中i从1开始 # 但我们的序列从F3/F2开始,所以调整索引 total = 0.0 for i in range(1, n + 1): # 第i项的分子是F(i+2),分母是F(i+1) total += fib[i + 2] / fib[i + 1] return total # 或者更直接的方法:直接模拟分数序列 def fibonacci_fraction_sum_direct(n): if n <= 0: return 0.0 a, b = 1, 2 # 初始化分母和分子:第一项是 2/1 total = 0.0 for _ in range(n): total += b / a # 更新:新的分母 = 旧的分子,新的分子 = 旧的分母 + 旧的分子 a, b = b, a + b return total # 获取输入 n = int(input()) # 计算并输出结果 result = fibonacci_fraction_sum_direct(n) rounded_result = round(result, 4) # 格式化为4位小数输出(根据示例) print( rounded_result )


Run Info:

------Input------
3
------Answer-----
5.16667
------Your output-----
5.1667