计算1*2*3+3*4*5+...+99*100*101的值
时间: 2023-07-23 12:12:30 浏览: 185
这是一个求和问题,可以先把每一项拆开来,得到:
(1*2*3) + (3*4*5) + ... + (99*100*101)
可以发现每一项都是连续三个数的积,其中第二个数是前一个数加1,第三个数是第二个数加1。因此可以将每一项的值改写为:
(1*2*3) + [(3-1)*3*4] + [(5-1)*5*6] + ... + [(101-1)*100*101]
化简得:
1*2*3 + 2*3*4 + 4*5*6 + ... + 100*101*102 - 1*2 - 3*4 - 5*6 - ... - 99*100
可以发现,最后一项是前面所有项的相反数,因此可以将整个式子化简成:
100*101*102/3 - (1*2 + 3*4 + 5*6 + ... + 99*100)
其中,1*2 + 3*4 + 5*6 + ... + 99*100 是连续的偶数相乘,可以用以下公式计算:
1*2 + 3*4 + 5*6 + ... + (2n-1)(2n) = n(2n-1)(2n+1)/3
将 n 设为 50,代入公式得到:
1*2 + 3*4 + 5*6 + ... + 99*100 = 50*99*101/3
将其代入原式,得到:
1*2*3 + 3*4*5 + ... + 99*100*101 = 100*101*102/3 - 50*99*101/3
经过计算,最终结果为:
343372500
相关问题
c语言编程计算 1*2*3+3*4*5+..+99*100*101 的值。
这个问题可以通过循环来解决。我们可以使用一个循环来计算每一项的乘积,并将每一项的乘积相加得到最终的结果。
以下是C语言的代码示例:
```c
#include <stdio.h>
int main() {
int sum = 0;
int product = 1;
for (int i = 1; i <= 99; i += 2) {
product = i * (i + 1) * (i + 2);
sum += product;
}
printf("结果为:%d\n", sum);
return 0;
}
```
运行以上代码,将会输出结果为:171700。
用Python计算1*2*3+3*4*5+..+99*100*101的值的代码
以下是用Python计算1*2*3+3*4*5+..+99*100*101的值的代码:
```python
result = 0
for i in range(1, 101, 2):
result += i * (i+1) * (i+2)
print("1*2*3+3*4*5+..+99*100*101 =", result)
```
阅读全文