计算1-1/2+2/3-3/5+4/8-5/13+••的前 n 项和,n由用户输人(n>0),结果用 sir. format()方法保留小数点后6位数字輸出。
时间: 2024-06-16 22:07:50 浏览: 66
c++求1+1/2+1/3+...+1/n
5星 · 资源好评率100%
这个题目其实是一个著名的级数求和问题,被称为“莱布尼兹级数”。根据题目要求,我们需要计算前n项的和。
以下是前n项和的公式:
$$S_n=\sum_{i=1}^{n}(-1)^{i+1}\frac{i}{F_i}$$
其中,$F_i$表示斐波那契数列的第i项,斐波那契数列的前几项为:$1, 1, 2, 3, 5, 8, 13, ...$。
下面是Python的代码实现:
```python
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
n = int(input("请输入n:"))
sum = 0
for i in range(1, n+1):
sum += (-1) ** (i+1) * i / fibonacci(i)
print("{:.6f}".format(sum))
```
阅读全文