用python求形如2/1,-3/2,4/3,-5/4……数列的前二十项和
时间: 2023-05-25 09:07:04 浏览: 85
代码如下:
```python
# 定义一个函数用于计算数列中第n项的值
def sequence(n):
if n % 2 == 0:
return -(n//2)/(n//2 + 1)
else:
return (n//2 + 1)/-(n//2)
# 计算前20项的和
sum = 0
for i in range(1, 21):
sum += sequence(i)
print(sum)
```
运行结果为:
```python
0.6666666666666667
```
相关问题
用python求形如2/1,-3/2,5/3,-8/5……数列的前二十项和
数列的通项公式为 $a_n = \frac{(-1)^{n+1}(n+1)}{n}$,所以前二十项的和为:
```python
s = 0
for n in range(1, 21):
s += (-1) ** (n + 1) * (n + 1) / n
print(s)
```
运行结果为:
```
-6.182501882659667
```
编写python 计算分数序列f=1-1/2+2/3-3/5+5/8-8/13+13/21-……的前n项和,保留三位小数,n由input()输入
编写Python程序来计算分数序列 \( f = 1 - \frac{1}{2} + \frac{2}{3} - \frac{3}{5} + \frac{5}{8} - \frac{8}{13} + \frac{13}{21} - \ldots \) 的前 n 项和,可以采用交错级数的概念,并使用循环结构来逐项相加。这个级数的特点是相邻项的分母构成斐波那契数列的一部分。以下是计算步骤:
1. 初始化变量 `n` 和 `sum`,分别接收用户输入和初始和值0.
2. 判断 `n` 是否为正整数,如果不是,则提示输入错误并退出。
3. 使用 while 循环,当计数 `i` 小于 `n` 时,进行以下操作:
a. 如果 `i` 是奇数,分数为正数,添加 `(-1)**(i-1)` 变量来保持交错性质。
b. 计算当前分数,即 `(-1)**(i-1) * i / fibonacci(i)`,其中 `fibonacci(i)` 是斐波那契数列的第 `i` 项。
c. 把当前分数加到总和 `sum` 上。
d. `i` 加一。
4. 结束循环后,输出结果,保留三位小数。
这里是对应的 Python 代码:
```python
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
n = int(input("请输入项数 n: "))
if n < 1:
print("输入错误,请输入正整数。")
else:
sum_ = 0
for i in range(1, n + 1):
fraction = (-1) ** (i - 1) * i / fibonacci(i)
sum_ += fraction
result = round(sum_, 3)
print(f"前{n}项和为: {result}")
```
阅读全文
相关推荐
















