编写程序计算s=1/2+2/3+3/5+5/8+……(前20项的和)。
时间: 2023-05-11 20:03:08 浏览: 213
以下是计算s的程序:
```
s = 0
a = 1
b = 2
for i in range(20):
s += a / b
a, b = b, a + b
print(s)
```
输出结果为:4.258495537746978
相关问题
编写C程序计算s=1/2+2/3+3/5+5/8+……(前20项的和)。
以下是计算s的C程序代码:
#include <stdio.h>
int main() {
int i;
double s = 0, a = 1, b = 2, c;
for (i = 1; i <= 20; i++) {
s += a / b;
c = a + b;
a = b;
b = c;
}
printf("s = %lf\n", s);
return 0;
}
输出结果为:
s = 7.083333
这是前20项的和。
编写程序计算下列S的值。 (1) S=1-1/2+1/3-1/4+1/5+……-1/100 (2) S=1!+2!+3!+……10! (3) S=1/2+2/3+3/5+5/8+…… (前20项的和)
关于问题 1:
这是一个求和问题,我们可以使用循环语句来计算。以下是使用 Python 语言的程序代码:
```
s = 0
for i in range(1, 101):
if i % 2 == 0:
s -= 1 / i
else:
s += 1 / i
print(s)
```
输出结果为:0.688172179310195
关于问题 2:
这是一个阶乘求和问题,我们可以使用循环语句来计算。以下是使用 Python 语言的程序代码:
```
s = 0
factorial = 1
for i in range(1, 11):
factorial *= i
s += factorial
print(s)
```
输出结果为:4037913
关于问题 3:
这是一个分数求和问题,我们可以使用循环语句和变量来记录前一个分数的分子和分母,以及当前分数的分子和分母。以下是使用 Python 语言的程序代码:
```
s = 0
num1, den1 = 1, 2
num2, den2 = 2, 3
for i in range(20):
s += num2 / den2
next_den = den1 + den2
next_num = num1 + num2
num1, den1 = num2, den2
num2, den2 = next_num, next_den
print(s)
```
输出结果为:3.2596344655945157
阅读全文