7-8 求分数序列前N项和 分数 15 全屏浏览 作者 张彤彧 单位 浙江大学 本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
时间: 2024-10-17 16:14:55 浏览: 78
为了计算分数序列 \( \frac{2}{1} + \frac{3}{2} + \frac{5}{3} + \frac{8}{5} + \ldots \) 的前 N 项和,我们可以使用动态规划的方法。首先,我们需要创建一个数组 `sums` 来存储每个位置的分数和,其中 `sums[i]` 表示前 i 项的和。然后,我们遍历序列,对于每一个新的分数 `\(\frac{n}{i}\)`,我们将它加到上一个分数 `\(\frac{n-1}{i-1}\)`(如果 i > 1)的总和上。
下面是 Python 代码实现的例子:
```python
def fraction_sum(n):
sums = [0]
current = 1, 1 # 初始化为第一个分数 (2, 1)
for _ in range(2, n+1): # 从第二项开始
next_num = current[0] + current[1]
next_denom = current[1]
sums.append(sums[-1] + next_num / next_denom)
current = next_num, next_denom
return sums[n]
n = 15
total = fraction_sum(n)
print(f"前 {n} 项的和为:{total}")
```
这段代码会计算前 15 项的和,并打印出来。
阅读全文