这个看似简单的问题难道了不少数学爱好者,你也来试试?
问题
从下面这个图形,你能数出多少个正方形?
解决方案
方案一
第一次面对这类题目时,很多人下意识的解决方法是数格子,没错,一个一个把整个图所包含的正方形数出来,最后得出结论:图中所包含大大小小的正方形一共有30个。
这是一个正确的答案。但得出这个正确答案的代价,是耗费掉不短的时间,以及形形色色因数多或数少而产生的错误答案。如果图形更复杂一些甚至复杂得多,数格子这样的方法还能应付得过来吗?或者说,是否存在比数格子更方便、更有效的解决方法?
答案是肯定的,即方案二:数学公式法。
方案二
为解决此题目及其更复杂的推广形态,我们需要创建一种普适性的方法,即:N ×M(N ≤ M)的方格中,存在多少个正方形?
1
建立一个坐标系,设方格左下角为坐标原点,方格边长为单位S,纵坐标与横坐标轴分别为N和M。
2
N×M方格中有多少S×S的正方形?
解:以正方形左下角点的坐标标记该正方形,显然方格与这些点的坐标一一对应,这些点的纵坐标取值方位在0至N-S之间的整数点(包括0与N-S),横坐标取值在0至M-S之间的整数点(包括0与M-S),所以共有(N-S+1)(M-S+1)点,即共有(N-S+1)(M-S+1)个S×S的正方形;
当S=1时,很容易看出,一共有NxM个1x1阶正方形;
当S=2时,正方形少了一行一列,即:存在(N-1)(M-1)个2×2正方形;
当S=3时,正方形又比S=2的时候少了一行一列,即:(N-2)(M-2)个3×3正方形;
依此类推,S=S时,有(N-S+1)(M-S+1)个SxS正方形;
最后,将所有正方形数相加。
3
取S=1、2……N,求和既得到所有正方形个数=1×(M-N+1)+2×(M-N+2)+...+N×M
当N=M时,根据平方和公式,正方形个数=1×1+2×2+...+N×N=N(N+1)(2N+1)/6;
4
因此,在原题中N=4,则最终答案为:4 ×(4+1)×(2×4+1)/ 6=30。
小结
就此题而言,虽然方案二在建立数学公式的过程中耗费了比方案一更多的时间,但建立这个公式的意义要重要得多,即:今后在面对诸如此类甚至更加复杂的问题时,我们可以通过公式用最短的时间得出最正确的答案。这正是方法论与“知其然但不知其所以然”的最大区别。
此外,我们可以就此解决方案进行一般化拓展:考虑NxM的格子里,有多少长宽比为T/S的长方形,计算方法类似,但求和过程要更加复杂一些,有兴趣的读者可以在本题解决方案的基础进行进一步推理。
作者:NKLiang;高校数学教授,科普作者。