输入一个正整数n,计算1+1/(1+2)+1/(1+2+3)+·· · ·+1/(1+2+3+··· · ·+n)的值(2 < n < 1000, 结果保留两位小数)。
时间: 2023-05-26 21:07:16 浏览: 52
解题思路:
1. 题目要求计算一个数列的和,数列的第i个元素为1/1/2/3/.../i的乘积,因此可以先定义一个变量prod表示当前乘积的值,每次遍历到一个新的数字i,就让prod乘以i,并将结果加到总和sum中;
2. 需要注意的是计算过程中要将所有的数转换成浮点数,否则会出现精度不足的问题;
3. 最后输出结果时需要保留两位小数,可以使用Python的format()函数实现。
Python代码如下:
n = int(input())
prod = 1 # 初始化乘积为1
sum = 0 # 初始化总和为0
for i in range(1, n+1):
prod *= i # 更新乘积
sum += 1/prod # 将新的乘积的倒数加到总和中
print("{:.2f}".format(sum)) # 输出结果,保留两位小数
相关问题
python语言输入一个正整数,计算1+2/1+3/1+……+n/1
```python
n = int(input("请输入一个正整数:"))
s = 0.0
sign = 1.0
for i in range(1, n+1):
term = i / (i+1)
s = s + sign * term
sign = sign * -1
print("结果为:%.4f" % s)
```
输入一个正整数n 计算1+2!+3!+…+n!
好的,以下是Python代码实现:
```python
n = int(input("请输入一个正整数n:"))
sum = 0
factorial = 1
for i in range(1, n+1):
factorial *= i
sum += factorial
print("1+2!+3!+...+n!的结果为:", sum)
```
例如,如果输入n为5,则输出结果为153。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)