矩形 m×n 的格点矩形的个数问题
南平九三英华高中 饶晓强 13859456038
设有相距为 1 的 m 条平行线和与之垂直的间距亦为 1 的 n 条平行线 ,
这些平行线的 mn 个交点我们称之为格点。这两组互相垂直的平行线所组成的最大矩形,我们称之为 m×n 矩形(图 1 ),以这些格点为顶点的矩形叫做矩形
m×n 的格点矩形。我们把矩形 m×n 的 m 条平行线中相邻的 条平行线和
n 条平行线中相邻的 条平行线组成的最大的
i×j 矩形叫做矩形 m×n 的内含矩形。若矩形 m×n 的内含 i×j 矩形 ABCD( 图 2) 的格点矩形的四个顶点在矩形
ABCD 的任一组邻边上的垂直投影的集合包含{ A,B,C }、{ A,B,D }、{ A,C,D }、{ B,C,D
} 之一,则说这样的格点矩形具有性质 H ,亦可称这样的格点矩形为 ABCD 的 H 矩形。
若矩形 m×n 的格点矩形的边与矩形 m×n 的边平行或重合,则这样的格点矩形称为矩形
m×n 的 直 H 矩形,否则称为斜 H 矩形。
图 1 m × n 矩形
图
2 矩形 i×j
为了计算矩形 m×n 的所有格点矩形的个数 H(m,n), 我们将矩形 m×n 的格点矩形分成三部分。
直格点矩形。
属于矩形 m×n 的内含矩形 i×i 的斜 H 矩形:
边长相等的斜 H 矩形(简称为 i×i 矩形的 H' 矩形)。
边长不相等的斜 H 矩形(简称为 i×i 矩形的 H'' 矩形)。
属于矩形 m×n 的内含矩形 i×j ( i j
)的斜 H 矩形(简称为 i×j ( i j
)矩形的 H 。 矩形)。
不妨设 m>n 。现在来计算矩形 m×n 的各部分格点矩形的个数。
1、由排列组合知识可知,矩形 m×n 的所有直格点矩形的个数为 (1)
2、由于 i×i 矩形一边内部( i - 2 )个格点中每一个格点都对应于 i×i 矩形的一个H
, 矩形(图3),而矩形 m×n 含有 (m+1 — i)(n+1 - i) 个不同的内含 i × i 矩形,所以矩形
m×n 的全体内含 i×i 矩形的所有H , 矩形的个数为
(2)
为了计算 i × i 矩形ABCD的H ,, 矩形的个数,以下分两种情形考虑。
i 为奇数
此时只有以 i×i 矩形 ABCD 各边中点为顶点的格点矩形 ( 是边长相等的矩形即正方形 )
不是 i×i 矩形 H ,, 矩形,因此 AB 边上除了中点以外的其他任一个内部格点都对应一个 i×i 矩形的 H ,,
矩形(图 4 )。所以 i × i 矩形的 H ,, 矩形的个数
(
i 为奇数)
( 2 ) i 为偶数
此时矩形 i×i 的一边内部的任一格点都对应 i×i 矩形的一个 H ,, 矩形(图 5 ),因此
i×I 矩形的 H ,, 矩形的个数
(
i 为偶数)
由以上两种情形可归纳出矩形 i × i 的 H ,, 矩形的个数

于是矩形 m×n 的全体内含 i×I 矩形的所有 H ,, 矩形的个数为
为了计算矩形 m×n 的所有格点矩形的个数
H(m,n), 我们将矩形 m×n 的格点矩形分成三部分。
直格点矩形。
属于矩形 m×n 的内含矩形 i×i 的斜 H 矩形:
边长相等的斜 H 矩形(简称为 i×i 矩形的 H' 矩形)。
边长不相等的斜 H 矩形(简称为 i×i 矩形的 H'' 矩形)。
属于矩形 m×n 的内含矩形 i×j ( i j
)的斜 H 矩形(简称为 i×j ( i j
)矩形的 H 。 矩形)。
不妨设 m>n 。现在来计算矩形 m×n 的各部分格点矩形的个数。
1、由排列组合知识可知,矩形 m×n 的所有直格点矩形的个数为 (1)
2、由于 i×i 矩形一边内部( i - 2 )个格点中每一个格点都对应于 i×i 矩形的一个H
, 矩形(图3),而矩形 m×n 含有 (m+1 — i)(n+1 - i) 个不同的内含 i × i 矩形,所以矩形
m×n 的全体内含 i×i 矩形的所有H , 矩形的个数为
(2)
为了计算 i × i 矩形ABCD的H ,, 矩形的个数,以下分两种情形考虑。
i 为奇数
此时只有以 i×i 矩形 ABCD 各边中点为顶点的格点矩形 ( 是边长相等的矩形即正方形 )
不是 i×i 矩形 H ,, 矩形,因此 AB 边上除了中点以外的其他任一个内部格点都对应一个 i×i 矩形的 H ,,
矩形(图 4 )。所以 i × i 矩形的 H ,, 矩形的个数
(
i 为奇数)
( 2 ) i 为偶数
此时矩形 i×i 的一边内部的任一格点都对应 i×i 矩形的一个 H ,, 矩形(图 5 ),因此
i×I 矩形的 H ,, 矩形的个数
(
i 为偶数)
由以上两种情形可归纳出矩形 i × i 的 H ,, 矩形的个数

于是矩形 m×n 的全体内含 i×I 矩形的所有 H ,, 矩形的个数为

为了计算矩形 i×j(i j)
的 H 。。 矩形的个数,先来看看 i×j(i j)
矩形的 H ,, 矩形必须满足什么条件。将矩形 m×n 的内含 i×j 矩形放在如图 6 所示的直角坐标系中,设矩形 PQRS
为矩形 i×j(i j)
的 H ,, 矩形,其顶点坐标为 P ( x,0 )、Q( i - 1,y )、R (i - 1 - x,j - 1),S(0,j
- 1 - y),


令 a=i - 1,b=j - 1, 则上式经整理得
( a - x ) x=(b - y)y (a b)
(*)
由 H * 矩形的定义。则 x 、 y 必须满足条件(不妨以条件 E 称之):

于是矩形 i×j(i j)
的 H ,, 矩形 RQRS 的顶点坐标所涉及的 x 、 y 必是不定方程(*)的满足条件 E 的一个解,而不定方程(*)的满足条件
E 的正整数解必对应于矩形 i×j(i j)
的一个 H ,, 矩形 ,因此矩形 i×j(i j)
的 H ,, 矩形与不定方程(*)的满足条件 E 的正整数解( x , y )成一一对应,也就是说矩形 i×j(i j)
的 H ,, 矩形的个数与不定方程( * )的满足条件 E 的正整数解的个数相同,我们用 h ( a , b )表示不定方程(*)的满足条件
E 的正整数解的小数(其详细表达方式见文 [2] ),于是矩形 i×j(i j)
的 H ,, 矩形的个数为 h(i - 1,j - 1) ,那么矩形 m×n 的全体内含 i×j(i j)
矩形的所有 H ,, 矩形的个数为:
(4)
这样一来,矩形 m×n 的所有格点矩形的个数应为( 1 )、( 2 )、( 3 )、( 4 )诸式之和
H(m,n)= 
(5)
现在来进一步简化 H(m,n) 的表达式。





,




 
= 
= 
= 
于是 (5) 式可化为
H(m,n)= 
(6)
(6) 式即为矩形 m×n 的格点矩形个数的计算公式 . 它比 (5) 式简洁 .
(6) 式当 m=n 时即为
H(m,n)=  (7)
文 [1] 问题五相当于本文矩形的所有格点矩形的个数问题 , 该文推算得矩形 n×n 的所有格点矩形的个数为
,
这仅仅是上述公式 (7) 的前一部分 , 文 [1] 漏了关于 H * 矩形个数的计算部分 , 因而是错误的 .
参考资料
[1] 汪继威,一道排列组合问题的推广,中学数学教学 84 ( 5 ), P12 — 15
[2] 黄德芳,不定方程( a - x ) x=(b - y)y(a ≠ b) 的正整数解的个数问题(未发表)
|