下列表达式的值。 (1)1/3+3/5+5/7+……+n/(n+2) //n为任意一个奇数 (2)1!+2!+3!+4!+……+n! n=20
时间: 2023-11-24 19:51:53 浏览: 41
引用和引用[2]中的代码都与本题无关,不提供任何帮助。
(1) 1/3+3/5+5/7+……+n/(n+2) = (1-1/3)+(3/5-1/5)+(5/7-1/7)+……+(n/(n+2)-1/(n+2)) = 1+2/5+3/7+……+n/(n+2)-n/(n+2) = 1+2/5+3/7+……+n/(n+2)-(n+1)/(n+2) = (1+2/3)+(3/5+4/7)+(5/7+6/9)+……+n/(n+2)-(n+1)/(n+2) = 2+(3/5+5/7)+(7/9+9/11)+……+n/(n+2)-(n+1)/(***/(n+1)-(n+1)/(n+2)) = 2(1-1/(n+2)) = 2n/(n+2)
(2) 1!+2!+3!+4!+……+n!,n=20
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
n = 20
sum = 0
for i in range(1, n+1):
sum += factorial(i)
print(sum)
```
相关问题
Python表达式 5 + 5//3 + True + False计算过程
让我们逐步计算这个表达式:
1. 首先,计算整除运算符 `//`,它执行整数除法并返回结果的整数部分。所以 `5 // 3` 的结果是 1。
2. 接下来,计算加法运算符 `+`。所以 `5 + 1` 的结果是 6。
3. 然后,我们有一个布尔值的相加操作。在 Python 中,`True` 被视为 1,`False` 被视为 0。所以 `True + False` 的结果是 1。
最终的结果是 6 + 1,即 7。
C语言1/3+2/4+3/5+……+n/n+2大于2020求n的最小值
题目翻译:请用中文回答:C语言 1/3 2/4 3/5 …… n/n 2大于等于2020求n的最小值
这道题是要求出满足以下条件的最小的n的值:
- C语言表达式 1/3 + 2/4 + 3/5 + ... + n/n 的值大于等于2020。
可以先观察一下这个表达式,发现分子和分母都是从1开始逐渐增加的,而分母的增加速度比分子慢一些。因此,这个表达式的值会随着n的增加而增加,而增加的速度会越来越慢。也就是说,这个表达式的值是单调递增的。
因此,可以使用二分查找的方法来寻找最小的n,使得表达式的值大于等于2020。具体的做法如下:
- 首先,设定二分查找的上下界。下界可以设为1,因为当n为1时,表达式的值为1/1=1,已经大于等于2020了。上界可以设为一个很大的数,比如2020*2。因为当n为2020*2时,表达式的值约为10.017,肯定已经足够大了。
- 然后,每次将上下界的中间值mid代入表达式,计算表达式的值。如果表达式的值小于2020,则说明n的取值范围应该在[mid+1, 上界]之间;如果表达式的值大于等于2020,则说明n的取值范围应该在[下界, mid]之间。通过这样的方法不断缩小上下界,最终得到的下界即为满足条件的最小的n的值。
以下是具体的代码实现: