编程求sum=1+1/(1*2)+1/(2*3)+ … +1/(n*(n+1)), n的值由键盘输入。
时间: 2023-05-02 21:01:55 浏览: 91
题目中要求编程计算求和公式 sum=1+1/(1*2)+1/(2*3)+…+1/(n*(n+1)),其中 n 的值由键盘输入。
也就是说,我们需要写一个程序,可以让用户输入 n 的值,然后计算上述公式的结果并输出。
实现这个程序的方法有很多种,比如使用循环、递归等方法。具体的实现方式可以根据自己的喜好和编程经验选择。
下面是一个通过循环实现的 Python 代码示例:
```python
n = int(input("请输入一个正整数 n:"))
sum = 1.0
for i in range(1, n+1):
sum += 1.0 / (i * (i+1))
print("sum =", sum)
```
运行上述代码,会提示用户输入一个正整数 n,然后计算输出 sum 的值。注意,除法要用浮点数类型来表示,否则会得到整数结果。
相关问题
编程求sum=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+……+11)结果为:sum=1.8333
以下是Python的代码实现:
```
n = 11 # 最大分母数
sum = 0 # 初始化结果
for i in range(1, n+1):
denominator = 1 # 初始化分母为1
for j in range(2, i+1):
denominator *= j # 计算分母
sum += 1 / denominator # 累加结果
print('sum={:.4f}'.format(sum))
```
输出结果为:
```
sum=1.8333
```
说明计算结果与题目要求相符。
编程求s=1+1/2!+1/3!+…+1/n!用while语句
以下是使用while语句编写的求s=1+1/2!+1/3!+…+1/n!的代码:
```c
#include <stdio.h>
void main() {
int i = 1, n;
double sum = 1, t = 1;
printf("输入n:\n");
scanf("%d", &n);
while (i <= n) {
t = t * i;
sum = sum + 1 / t;
i++;
}
printf("s=%lf", sum);
}
```
阅读全文