用数数办法求解:
O OO OOO。。。n个O
OO OOO。。。n个O
OOO。。。n个O
。。。n个O
f(n)=1+2+3+...+n
+2+3+...+n
+3+...+n
...
+n
=n(n+1)/2+(n-1)(n+2)/2+(n-2)(n+3)/2+...+(n-(n-1))*(n+n)/2
=n(n+1)/2+n(n+1)/2-1*2/2 +n(n+1)/2-2*3/2+...+n(n+1)/2-(n-1)*n/2
=n(n+1)*n/2-(1*2+2*3+...+(n-1)*n)/2
=n(n+1)*n/2-(Y)/2
=X
从数数的O图上可知,Y/2为左下角O的数量,X为右上角O的数量
X-Y=1+2+3+...+n=n(n+1)/2
所以:X=n(n+1)(2n+1)/6
Y=(1*2+2*3+...+(n-1)*n)=(n-1)n(n+1)/3
也可以先推出Y:(与X的推导类似)
左下角O的数量(按列相加):Y/2=(n-1)*1+(n-2)*2+..+(n-(n-1))*(n-1)
=(n-1)*1+(n-1)*2-1*2+..+(n-1))*(n-1)-(n-2)*(n-1)
=(n-1)(n-1)*n/2-(1*2+..+(n-2)*(n-1))
=(n-1)(n-1)*n/2-(Y-(n-1)*n)
所以Y=(1*2+2*3+...+(n-1)*n)=(n-1)n(n+1)/3
构造幂函数法求解
由f(n)=n(n+1)/2+(n-1)(n+2)/2+(n-2)(n+3)/2+...+(n-(n-1))*(n+n)/2
知f(n)是由n个关于n的2次幂函数线性组成,设
f(n)=a*n^3+b*n^2+c*n+d是关于[a;b;c;d]的线性方程,取n=1、2、3、4;解线性方程组可得解。
最经典解法
由(n+1)^3=n^3+3n^2+3n+1得到
(n+1)^3-n^3=3n^2+3n+1
两边从n=1、2、3到n;n项组合相加即可得结果。