编写程序,计算序列 1-2/3+3/5-4/7+5/9-6/11+.….+(-1)n-1n/(2n-1)的前n项之和,要求n为从键盘上获取的 10-20之间的正整数。求和结果用输出函数查看,保留三位小数。
时间: 2023-06-08 20:07:02 浏览: 48
你好,欢迎使用ChitGPT。根据你的要求,我可以编写一个Python程序来计算这个序列的前n项和,代码如下:
```
n = int(input("请输入10-20之间的正整数:"))
while n < 10 or n > 20:
n = int(input("输入错误,请重新输入10-20之间的正整数:"))
sum = 0
for i in range(1, n+1):
sign = (-1)**(i-1)
numerator = i
denominator = 2*i-1
term = sign*numerator/denominator
sum += term
print("前{}项和为:{:.3f}".format(n, sum))
```
你可以将这段代码复制到Python环境中运行,输入你想要的正整数n,即可获得这个序列的前n项和,结果保留三位小数。希望可以帮助到你。
相关问题
编写程序计算序列1-1/4+1/7-1/10
以下是Python程序计算序列1-1/4+1/7-1/10的结果:
```python
n = int(input("请输入一个10~20之间的正整数:"))
sum = 0.0
flag = 1
for i in range(1, n+1):
sum += flag * 1.0 / (3*i-2)
flag = -flag
print("sum = {:.3f}".format(sum))
```
输出结果为:
```
请输入一个10~20之间的正整数:10
sum = 0.819
```
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和可以通过编写程序来计算。以下是一个C语言的例子:
```c
#include <stdio.h>
int main() {
int n, i, z, m;
double a = 0.0;
double f = 1.0;
z = 1;
m = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
a = a + f * z / m;
f = f * -1.0;
z = z + 1;
m = m + 2;
}
printf("%.3f", a);
return 0;
}
```
输入格式为一个整数N,表示要计算前N项之和。程序中使用了一个循环来计算每一项的值,并将其加入到总和中。其中,变量f用于控制正负号,变量z用于计算分子,变量m用于计算分母。最后,使用printf函数输出结果,保留三位小数。