8.(程序题)题目描述 Sn=1-1/2+1/3-1/4+ \dotsc 输入 n 输出 Sn,保留5位小数 样例输入 100 样例输出 Sn=0.68817
时间: 2023-11-11 15:04:16 浏览: 36
以下是 Python 代码实现:
```python
n = int(input())
s = 0
for i in range(1, n+1):
if i % 2 == 1:
s += 1 / i
else:
s -= 1 / i
print("Sn={:.5f}".format(s))
```
代码思路:
- 首先读入 n;
- 然后使用一个循环,从 1 到 n 遍历每一个数;
- 如果当前数是奇数,就加上它的倒数;如果是偶数,就减去它的倒数;
- 最后输出结果,保留 5 位小数。
注意:
- Python 的整数除法(/)会得到浮点数结果,如果要得到整数结果,需要使用地板除(//);
- 格式化输出可以使用 str.format() 方法,其中 {:.5f} 表示输出一个浮点数,保留 5 位小数。
相关问题
已知:Sn= 1-1/2+1/3-1/4+…… 输入最后一项分式的分母,求Sn的值
根据已知条件,我们可以将x^2/(x^4+1)化简为(x^4+1-x^4)/(x^4+1),即(1-x^4)/(x^4+1),代入x^4/(x^8+x^4+1)中,得到:
x^4/(x^8+x^4+1) = x^4/[(x^4+1)^2 - x^4] = x^4/[(x^4+1+x^2)(x^4+1-x^2)] = x^4/[(x^4+1+x^2)(x^2+1/x^2)],代入引用中的式子(1)中,得到:
x^4/[(x^4+1+x^2)(x^2+1/x^2)] = (x^4+1/x^4)/{(x^2+1/x^2)(x^2+1/x^2-1)}
因此,x^4/(x^8+x^4+1) = (x^4+1/x^4)/{(x^2+1/x^2)(x^2+1/x^2-1)}
根据已知条件,Sn= 1-1/2+1/3-1/4+……,可以将其拆分为两个部分,即Sn1=1+1/3+1/5+...和Sn2=1/2+1/4+1/6+...,则有:
Sn1=1+1/3+1/5+...+1/n,其中n为奇数,则Sn1=(1+1/2+1/3+...+1/n)-(1/2+1/4+1/6+...+1/n)。
Sn2=1/2+1/4+1/6+...+1/n,其中n为偶数,则Sn2=(1/2+1/4+1/6+...+1/n)-(1/3+1/5+1/7+...+1/n)。
因此,Sn=Sn1-Sn2=(1+1/2+1/3+...+1/n)-(1/3+1/5+1/7+...+1/n)-(1/2+1/4+1/6+...+1/n)。
根据以上推导,我们可以得到Sn的值。最后一项分式的分母为2n,因此n=2。代入上式,得到:
Sn=1+1/2+1/3+1/4-1/5-1/6-1/7-1/8
经过计算,Sn的值为0.4236。
输入n的值,求Sn=1-1/2!+1/3!-1/4!+……+1/n!的值 用python
以下是Python代码实现,用于计算Sn=1-1/2!+1/3!-1/4!+……+1/n!的值:
```python
import math
n = int(input("请输入n的值:"))
sum = 0
for i in range(1, n+1):
if i % 2 == 0:
sum -= 1 / math.factorial(i)
else:
sum += 1 / math.factorial(i)
print("Sn的值为:", sum)
```
运行结果:
```
请输入n的值:4
Sn的值为: 0.5833333333333333
```