1*2+2*3+3*4……+19*20=多少,简便算法

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 09:44:23

1*2+2*3+3*4……+19*20=多少,简便算法
1*2+2*3+3*4……+19*20=多少,简便算法

1*2+2*3+3*4……+19*20=多少,简便算法
原式=1X(1+1)+2X(2+1)+3X(3+1)+...+19X(19+1)
=1X1+2X2+...+19X19+(1+2+...+19)
=19X(19+1)(19X2+1)/6 + 19X(1+19)/2
=190X13+190=190X14=2660

什么语言??

(1*2+2*3)+(3*4+4*5)+(5*6+6*7)+(7*8+8*9)....+(17*18+18*19)+19*20=
4*2+8*4+12*6+16*8+20*10+24*12+28*14+32*16+36*18+19*20=

c的大致写法:
^
int i,sum=0;
for (i=1;i<20;i++) sum+=i*(i+1);

java 如下:public class Jiecheng { int sum ; public Jiecheng(int j) { for(int i=1;i

VB
a=0
for i=1 to 20
a=i*(i+1)
next
print a

这类问题最好的方法是用递归
C语言完成:
#include
const int NUMBER = 20;
int AddMul(int num)
{
if (num - 1 > 1)
{
return (num * (num -1)) + AddMul(num-1);
}
els...

全部展开

这类问题最好的方法是用递归
C语言完成:
#include
const int NUMBER = 20;
int AddMul(int num)
{
if (num - 1 > 1)
{
return (num * (num -1)) + AddMul(num-1);
}
else
{
return (num * (num -1));
}
}
int main ()
{
int countallmul;
countallmul = AddMul(NUMBER);
cout << countallmul << endl;
return 0;
}
-------------------------------------------------------------
VB语言完成:
Private Sub Command1_Click()
Text1.Text = AddMul(20)
End Sub
Private Function AddMul(num As Integer) As Integer
If num - 1 > 1 Then
AddMul = AddMul(num - 1) + num * (num - 1)
Else
AddMul = num * (num - 1)
End If
End Function

收起

还用的着循环么?
直接把原来的拆成两个不行了
k*(k+1)=k^2+k
一个是平方和1^2+2^2+...+(n-1)^2, 另一个是1+2+...+(n-1)
都有直接的公式嘛, O(1)不就算出来了