首页 > 代码库 > 1+2*2+3*3+4*4+...+n*n计算

1+2*2+3*3+4*4+...+n*n计算

此文来源:http://www.jsblog.cn/user1/769/38033.html

比较好玩的做法:
想像一个有圆圈构成的正三角形, 
第一行1个圈,圈内的数字为1 
第二行2个圈,圈内的数字都为2, 
以此类推 
第n行n个圈,圈内的数字都为n, 
我们要求的平方和,就转化为了求这个三角形所有圈内数字的和。设这个数为r 
下面将这个三角形顺时针旋转60度,得到第二个三角形 
再将第二个三角形顺时针旋转60度,得到第三个三角形 
然后,将这三个三角形对应的圆圈内的数字相加, 
我们神奇的发现所有圈内的数字都变成了2n+1 
而总共有几个圈呢,这是一个简单的等差数列求和 
1+2+……+n=n(n+1)/2 
于是3r=[n(n+1)/2]*(2n+1) 
r=n(n+1)(2n+1)/6