两只杯子装水问题

1 简介

我的一名同事在说到智力题的时候,给我出了这样一个问题:

两只杯子,一只可装 \(3\) 升水,一只可装 \(5\) 升水,如何用这两只杯子弄出 \(4\) 升水来?

两只杯子装水

图 1:两只杯子装水。

起初,我听到这个问题,我认为它是无解的。为什么?因为 \(3\) 和 \(5\) 升跟 \(4\) 根本不搭边啊,两个奇数和一个偶数有什么关系呢。

然而,同事的一个解让我对这道问题产生了兴趣,并且随后,我对这类的一般化问题进行了思考,这篇博文也是我这些天来对该问题的一个总结。

当然,还是先说一下,同事的解,解是这样的。先用 \(3\) 升的杯子往 \(5\) 的杯子里倒水,两次把 \(5\) 的杯子倒满,这样 \(3\) 升的杯子里还剩 \(1\) 升,接着把 \(5\) 升的杯子里的水全部倒掉,将 \(3\) 升杯子里的 \(1\) 升水倒入 \(5\) 升的杯子里,最后,将 \(3\) 升的杯子再次装满,将 \(3\) 升水倒入 \(5\) 升的杯子里,这样 \(5\) 升的杯子里一共就有了 \(4\) 升水。

不难分析,这 \(4\) 升水是这样得到的,\(4=3+3+3-5\)。事实上,这个问题还有一个解,按照分析,经过短暂的思考,我又有了另一个解的答案。先将 \(5\) 升水的杯子倒满,然后,将 \(5\) 升杯子中的 \(3\) 升水倒入 \(3\) 升的杯子,这样 \(5\) 升水的杯子还剩 \(2\) 升水。下一步,将 \(3\) 升的杯子中的水倒掉,将 \(5\) 升水中的剩余的 \(2\) 升水倒入 \(3\) 升水的杯子中,这样 \(3\) 升杯子中就有 \(2\) 升水。最后一步,将 \(5\) 升杯子中装满水,然后向 \(3\) 升的杯子里倒水,直到 \(3\) 升的杯子里装满水,这样因为 \(3\) 升的杯子里还差 \(1\) 升水即满,于是 \(5\) 升杯子里倒掉了 \(1\) 升水,\(5\) 升杯子里剩余的恰好是 \(4\) 升水。

同样的分析知道,第二个解是这样得到的,\(4=5-[3-(5-3)]\)。于是杯子装水的关键即在于能否只用 \(3\) 和 \(5\) 通过“\(+-\)”运算的形式将 \(4\) 表示出来。

2 杯子装水问题

2.1 其他数值的解

很自然的,我想到,\(3\) 升杯子和 \(5\) 升杯子,如何装出其他数值的解呢?

比如 \(1\),前面的装出 \(4\) 升水的解中就蕴含着我们的解,将 \(3\) 升杯子两次装满,往 \(5\) 升的杯子里倒水,直至倒满,这样 \(3\) 升杯子里最终剩余 \(1\) 升水。

再比如 \(2\),这个解实在是太简单了,将 \(5\) 升的水装满,然后向空的 \(3\) 升的杯子里倒水,直至 \(3\) 升的杯子里水全部装满,这样 \(5\) 升的杯子里就只存余 \(2\) 升水。

而 \(3\) 升水和 \(5\) 升水,则很显然,只需一步操作即可。这样 \(1\) 到 \(5\) 升水通过 \(3\) 升和 \(5\) 升的杯子就都得到了。说明一下,\(1=3+3-5,2=5-3\),这分别是 \(1\) 和 \(2\) 升水的解得由来。于是,\(1\) 到 \(5\) 都通过 \(3\) 和 \(5\) 通过“\(+-\)”运算的形式表达出来了。本质上,杯子装水问题是数值运算的问题。自然地,我们要问,一般情形下也是这样吗?于是,我们有了下面的猜想。

如果 \(p,q(\in Z_+)\) 互素,从 \(1\) 到 \(max(p,q)\) 都可以用 \(p,q\) 通过“\(+-\)”的形式表示出来吗?

2.2 一般化问题

2.2.1 “\(1\)”的表示

实际上,如果 \(p,q(\in Z_+)\) 互素,那么 \(1\) 是可以很好地得到的。不难想到的是高等代数中由辗转相除所得到的一个代数基本定理,即如果 \((p,q)=1\),那么一定存在整数组 \(l,n\) 使得 \(pl+qn=1\)。实际上,辗转相除法是对任意两个(正)整数求其最大公约数的通用方法,当然如果这两个整数互素即最大公约数为 \(1\),这也是可行的。这里把这段证明简单的贴出来,这是因为后面我们仍将对辗转相除法做一定的讨论。

证明. 不妨设 \(p<q\),那么一定存在唯一的(正)整数 \(t_0\) 和 \(r_0\) 且 \(r_0\) 满足 \(1\leq r_0\leq p-1\),使得

\[q=pt_0+r_0. \]

如果 \(r_0=1\),那么我们即得到了一组解 \(l=-t_0,n=1\) 使得 \(pl+qn=1\) 成立。

如果 \(1<r_0\leq p-1\),那么根据 \(p\) 和 \(q\) 的互素性质,我们一定有 \(p\) 和 \(r_0\) 也是互素的。于是,我们可以又有

存在唯一的(正)整数 \(t_1\) 和 \(r_1\) 且 \(r_1\) 满足 \(1\leq r_1\leq r_0-1\),使得

\[p=r_0t_1+r_1. \]

同样的,若 \(r_1=1\),那么我们由 \(p=r_0t_1+1,q=pt_0+r_0\) 得

\[1=p-r_0t_1=p-(q-pt_0)t_1=p(1+t_{0}t_1)-qt_1, \]

于是存在 \(l=1+t_{0}t_1,n=-t_1\) 使得 \(pl+qn=1\) 成立。

若 \(r_1\neq 1\),那么我们可以重复上面的过程直到某一步,无妨设为第 \(i\) 步使得

\[r_i=1,\text{且}\ r_{i-2}=r_{i-1}t_{i}+r_i. \]

\(0\leq r\),且令 \(r_{-2}=q,r_{-1}=p\)。

同样的,我们可以得解 \(l,n\)(因为对 \(\forall r_i,i\geq 0,i\in Z\),显然都可以表示为前面的 \(r_{i-1},r_{i-2}\) 的线性组合,且线性组合的系数都为整数,因此最终任意的 \(r_i=1\) 都可以表示为 \(p,q\) 的线性组合的形式)使得 \(pl+qn=1\) 成立。

证毕。\(\blacksquare\)

2.2.2 “\(k(1\leq k\leq p-1)\)”的表示

无妨设 \(p<q\)。事实上,若我们可以将从 \(1\) 到 \(p\)(\(p\) 是显然的)都可以用 \(p,q\) 通过“\(+-\)”的形式表示出来,那么从 \(1\) 到 \(max(p,q)\) 就都可以用 \(p,q\) 通过“\(+-\)”的形式表示出来。这是因为,从 \(p+1\) 到 \(q\) 的每个值都可以用 \(tp+k,(1\leq k\leq p-1)\) 或者 \((t+1)p\) 的形式表示,而后者是显然的。因此,我们只需求出前者。由上一节的证明,我们有存在 \(l,n\) 使得 \(pl+qn=1\) 成立。那么显然,我们有

\[\text{存在}\ l_k=kl,\ n_k=kn,\ \text{使得}\ pl_k+qn_k=1\ \text{成立。} \]

这只是其中的一个通解公式,且这个通解公式得到解的步奏虽然相对简单,但是这些解得解步奏显得有些冗长。那么还有没有另一种形式的解呢?经过细心的思考,我们发现它是存在的并且以对称的形式存在。当然,在求解另外形式的解之前,我们还要得到 \(3\) 升水杯和 \(5\) 升水杯倒出 \(4\) 升水的问题的另外一种形式的解。

因为 \(1=3\times 2-5\),所以 \(4=3\times 8-5\times 4\)。实际上就是把得到 \(1\) 升水的过程重复执行 \(4\) 遍。对比之前得到的 \(4\) 升水第一种解的执行过程,我们发现这里得到 \(4\) 升水相当于多添加了 \(5\) 次 \(3\) 升的水杯的水(共 \(15\) 升),同时减少了 \(3\) 次 \(5\) 升的水杯的水(也共 \(15\) 升),因此实际上我们后面一系列操作相当于第一种解是一种冗余。后面我将详细来讲这些解,先说一句很显然这些解是无穷多个。

2.2.3 递归得解

根据辗转相除法,我们得到了 \(1\) 可以被若干个 \(p,q\) 通过“+-”的形式表示这样的结果。那么对于对于满足 \(2\leq k\leq p-1\)”这样的整数 \(k\) 我们该如何求解呢?这里,我首先想到的是将辗转相除法进行一定的改造,用来求出这些我们所需要的整数 \(k\)。事实上,\(q\) 关于 \(p\) 求余的过程中,得到 \(r_0\) 的同时,我们也得到了 \(p-r_0\),而辗转相除法则将这个结果省略掉了。这是我整体思路的关键环节,即尽可能的利用已知的信息。

这里我先把其中的一种构造方式写出来,之后再来证明它是可以得到我们所需要的 \(k\) 值的。不妨先举个例子,说明一下实现的步奏,后面再将其一般化,并给出最终的证明。

例如,我们用 \(7\) 升和 \(19\) 升的杯子,得到从 \(1\) 到 \(6\) 的所有值。首先,我们将 \(19\) 升的杯子装满往 \(7\) 升的杯子里倒水,\(7\) 升的杯子里装满即倒掉,这个过程中我们分别可以得到 \(12\) 和 \(5\) 升水。我们将 \(19\) 升杯子中存余的最后的这 \(5\) 升水倒入 \(7\) 升水的杯子里。之后,我们重复之前的过程,将将 \(19\) 升的杯子装满往 \(7\) 升的杯子里倒水,\(7\) 升的杯子里装满即倒掉,这个过程我们又分别可以得到 \(17\)、\(10\) 和 \(3\) 升水。我们将将 \(19\) 升杯子中存余的最后的这 \(3\) 升水倒入 \(7\) 升水的杯子里。之后再一一重复同样的过程,我们将分别得到 \(15\)、\(8\)、\(1\)、\(13\)、\(6\)、\(18\)、\(11\)、\(4\)、\(16\)、\(9\)、\(2\)、\(14\)、\(7\) 升水。仔细看,上面的执行过程,我们分别得到了 \(5\)、\(3\)、\(1\)、\(6\)、\(4\)、\(2\)、\(7\) 升水。同时,在得到从 \(1-7\) 升水的过程中,\(1-19\)(\(19\) 是显然的,且更确切的说应该是 \(0-19\))升水也同样的执行过了一遍。且上面的执行过程中,每次得到的水的量都是唯一不重复的,这显然是我们所想要的也是最好的结果。

下面我们将上面的过程抽象,得到如下的结论,并给出证明。

Theorem 1. 若 \(p,q\) 为一对互素的正整数,且设 \(p<q\),那么经过下面的 \(p\) 步过程,我们可以得到从 \(1\) 到 \(q\) 的所有值:

  1. 先假设 \(q'=q\),用 \(q'\) 对 \(p\) 做“\(-\)”操作,直至所剩余的数值小于 \(p\) 为止,设最后所剩余的数值为 \(r\)。
  2. 令 \(q'=q-(p-r)\),重复执行上面的动作。
  3. 将上面的执行过程执行 \(p\) 步截止。

证明. 不妨设 \(q=tp+r,t,r\in Z_+,1\leq r<p\),那么第 \(1\) 步我们将分别得到

\[(t-1)p+r,\cdots,p+r,r \]

这些数值。

第 \(2\) 步,我们将首先得到 \(q=q-(p-r)=tp+r-p+r=(t-1)p+2r\)。若 \(2r<p\),那么第 \(2\) 步我们将分别得到

\[(t-1)p+2r,\cdots,2r \]

这些数值。若 \(2r>p\),那么我们分别得到

\[(t-1)p+2r,\cdots,2r,2r-p \]

这些数值。

第 \(3\) 步,由第 \(2\) 的两种情况,若 \(2r<p\),我们得到 \(q=q-(p-2r)=tp+r-p+2r=(t-1)p+3r\);若 \(2r>p\),我们得到 \(q=q-[p-(2r-p)]=tp+r-2p+2r=(t-2)p+3r\)。

根据上面的结果递推,我们可以得到第 \(k(1\leq k< p)\) 步,获得的 \(q\) 值关于 \(p\) 取余只与 \(kr\) 有关。

下面我们即来证明数值项 \(r,2r,\cdots,kr\) 其中任意两个数值关于 \(p\) 取余都是不相同的。且分别等于从 \(1\) 到 \(p-1\) 的其中一个值。

不妨设 \(kr=l_kp+r_k\)。下面我们任取其中两个不妨设为 \(ir,jr,1\leq i<j<p,i,j\in Z_+\),那么我们有

\[ir=l_ip+r_i, \]

\[jr=l_jp+r_j. \]

若 \(r_i=r_j\),那么将上面两式相减得,

\[(j-i)r=(l_j-l_i)p. \]

由 \(q=tp+r\) 且 \((p,q)=1\),易知,\((r,p)=1\),于是上式中必有 \((j-i)\) 可被 \(p\) 所整除,而由 \(0<j-i<p\) 知这是不可能的,于是推出矛盾,即数值项 \(r,2r,\cdots,kr\)(\(1\leq k< p\))其中任意两个数值关于 \(p\) 取余都是不相同的。

还没有证完,我们要证明它们关于 \(p\) 求余分别为 \(1\) 到 \(p-1\) 的其中一个,那么我们要将之前的证明重新过一遍。

仔细看,不难发现,若 \(k\) 满足条件 \(1\leq k\leq p\),那么数值项 \(r,2r,\cdots,kr\) 其中任意两个数值关于 \(p\) 取余也都是不相同的。且易知当 \(k=p\) 时,\(kr\) 关于 \(p\) 取余其值为 \(0\),而其余的项都与其不同,且关于 \(p\) 取余满足大于 \(0\) 且小于 \(p\),因此,若 \(k\) 满足 \(1\leq k< p\),那么数值项 \(r,2r,\cdots,kr\) 其中任意两个数值关于 \(p\) 取余都是不相同的。且分别等于从 \(1\) 到 \(p-1\) 的其中一个值。

由 \(1\) 到 \(p-1\) 的其中任何一个值我们都找到了,那么显然,上面的执行过程也就找到了 \(1\) 到 \(q\) 的任意一个值。这是显然的。若不然,每个得到的数值分别进行 \(+p\) 操作,那么我们即可以还原到之前执行的某一步,且由每一步的余数 \(r_k\) 小于 \(p\) 知,\(q=q-(p-r_k)\) 其值 \(+p\) 会超过 \(q\)。因此,之前执行的每一步都可以还原到,且得到从 \(1\) 到 \(q\) 的所有值,而这与假设矛盾。

证毕。\(\blacksquare\)

有了定理 \(1\) 我们即可以得到同样的对称性操作,其结果如下。

Theorem 2. 若 \(p,q\) 为一对互素的正整数,且设 \(p<q\),那么经过下面的 \(p\) 步过程,我们可以得到从 \(1\) 到 \(q\) 的所有值:

  1. 先假设 \(p'=p\),用 \(p\) 对 \(0\) 做“\(+\)”操作,直至该值大于 \(q\) 为止,设该值与 \(q\) 的差值为 \(s\)。
  2. 用 \(p'=p+s\),重复执行上面的动作。
  3. 将上面的执行过程执行 \(p\) 步截止。

证明. 同上,略。\(\blacksquare\)

这里只将之前的举例按这个第二种方式执行一遍。

例如,我们用 \(7\) 升和 \(19\) 升的杯子,得到从 \(1\) 到 \(19\) 的所有值。首先,我们将 \(7\) 升的杯子装满往 \(19\) 升的杯子里倒水,\(19\) 升的杯子里装满即倒掉,这个过程中我们分别可以得到 \(7\) 和 \(14\) 升水。我们将 \(7\) 升杯子中存余的最后的这 \(2\) 升水倒入 \(19\) 升水的杯子里。之后,我们重复之前的过程,将将 \(7\) 升的杯子装满往 \(19\) 升的杯子里倒水,\(19\) 升的杯子里装满即倒掉,这个过程我们又分别可以得到 \(9\)、\(16\) 和 \(4\) 升水。我们将将 \(7\) 升杯子中存余的最后的这 \(4\) 升水倒入 \(19\) 升水的杯子里。之后再一一重复同样的过程,我们将分别得到 \(11\)、\(18\)、\(6\)、\(13\)、\(1\)、\(8\)、\(15\)、\(3\)、\(10\)、\(17\)、\(5\)、\(12\)、\(19\) 升水。

2.2.4 解的个数问题

先回到求解的问题上,我们已经证明满足 \(l_kp+n_kq=k,1\leq k<p,k\in Z_+\) 的解 \(l_k,n_k\) 是存在的。下面我们来证明存在有无穷多组这样的 \(l_k,n_k\),并且这些解之间存在较为简单的关系。下面我们来计算一下这种关系。

不妨设还存在一组解 \(l_k',n_k'\),使得 \(l_k'p+n_k'q=k\) 成立。那么联立两个等式得

\[\begin{cases} l_kp+n_kq=k,\\ l_k'p+n_k'q=k. \end{cases}\]

于是我们有

\[l_kp+n_kq=l_k'p+n_k'q, \]

即

\[(l_k-l_k')p=(n_k'-n_k)q. \]

由 \((p,q)=1\),我们知,\(l_k-l_k'\) 必可以被 \(q\) 所整除且 \(n_k'-n_k\) 也必可以被 \(p\) 所整除,且二者的关于 \(q\) 和 \(p\) 的整除后结果相同。于是得到一解 \(l_k,n_k\) 之后,其通解我们也得到了,其通解为

\[\begin{cases} l_k-\lambda q,\\ n_k+\lambda p,\quad \lambda \in Z. \end{cases}\]

这是显然的,因为 \((p,q)=1\),\(p\) 升的水杯装过 \(q\) 次水,都倒入 \(q\) 升的水杯,再由 \(q\) 升的水杯经过 \(p\) 次倒掉,其结果显然是 \(0\)。

2.2.5 最优解问题

下面再来思考一下最优解的问题。即,怎样经过尽可能少的步奏得到我们想要的结果。

先说明一下 \(l_k,n_k\) 满足一正一负。这是显然的,由 \(l_kp+n_kq=k\) 且 \(p,q>k\) 知若 \(l_k,n_k\) 同为正数显然等式不成立。若同为 \(l_k,n_k\) 同为负数,则与我们的假设 \(k>0\) 矛盾。

由 \(l_k,n_k\) 的构造我们知道若要使得步奏尽可能的少。那么应使 \(l_k,n_k\) 尽可能的小。而 \(l_k,n_k\) 其绝对值 \(|l_k|,|n_k|\) 则应分别小于 \(q\) 和 \(p\)。这是可以做到的,不妨设 \(l_k>0\),若 \(l_k>q\),那么我们可以执行下面的操作令 \(l_k=l_k (mod\ q)\),显然新得到的 \(l_k\) 满足我们的要求。同理,\(n_k<0\),若 \(n_k>p\),那么我们可以执行下面的操作令 \(n_k=n_k (mod\ p)\) 得到我们所需要的解。

下面我们来证明这样的解是存在的。

证明. 若最优解为 \(l_k,n_k\) 且 \(l_k,n_k\) 至少其中之一不满足 \(|l_k|<q\) 或者 \(|n_k|<p\),那么我们来推出矛盾。下面分 \(3\) 种情况来讨论。

  1. 若最优解为 \(l_k,n_k\) 且 \(|l_k|>q,|n_k|<p\),不妨设 \(l_k>0\),那么 \(n_k<0\) 且

    \[k=l_kp+n_kq\geq (1+q)p+n_kq\geq (1+q)p+(-p+1)q=p+q, \]

    但这与我们的假设 \(k<min\{p,q\}\) 矛盾。

    注. 值得一提的是,从上面的证明中,我们其实可以将 \(k\) 的值进行扩展,扩展为 \(0\leq k<p+q\),其结果也是成立的。

  2. 若最优解为 \(l_k,n_k\) 且 \(|l_k|<q,|n_k|>p\),同上可证。

  3. 若最优解为 \(l_k,n_k\) 且 \(|l_k|>q,|n_k|>p\),不妨设 \(l_k>0,n_k<0\),那么我们取 \(l_k'=l_k-q,n_k'=n_k+p\),于是

    \[l_k'p+n_k'q=(l_k-q)p+(n_k+p)+q=l_kp+n_kq -pq+pq = k. \]

    这时,我们找到了另外一组解 \(l_k',n_k'\),由假设我们容易知道 \(|l_k'|<|l_k|,|n_k'|<|n_k|\),且显然有 \(l_k'\neq l_k,n_k'\neq |n_k|\),于是我们又找到一组最优解,且该解优于解 \(l_k,n_k\),但这与我们的假设 \(l_k,n_k\) 为一组最优解矛盾。

综上,若最优解为 \(l_k,n_k\),那么必然有 \(|l_k|<q\) 且 \(|n_k|<p\)。

证毕。\(\blacksquare\)

下面我们得到最优解的更为精确的说法。

Theorem 3. 若 \((p,q)=1,p<q,p,q\in Z_+\),那么满足 \(l_kp+n_kq=k,1\leq k<p,k\in Z_+\) 的最优解 \(l_k,n_k\) 是存在的,且其必要条件为 \(|l_k|<q,|n_k|<p\)。

进一步假设,\(l_k>0,n_k<0\),那么最优解必然为下面两组解之中的一组或者全部,

\[\begin{cases} l_k,n_k\\ l_k-q,n_k+p. \end{cases}\]

其判别条件为将 \(l_k,n_k\) 和 \(l_k-q,n_k+p\) 分别取其绝对值之和,绝对值之和小的一组为最优解,若绝对值之和相等则都为最优解。

这里我们可以举一个简单的例子来说明最优解。如简介部分问题刚开始引入部分所提到的 \(4\) 升水可以通过 \(3\) 升的杯子和 \(5\) 升的杯子获取的问题。我们有 \(4=3\times3+(-1)\times 5=(-2)\times3+2\times 5\),不难计算两种方式都经过了 \(4\) 次操作即获得了 \(4\) 升水,显然 \(3,-1\) 和 \(-2,2\) 都是最优解,且两组解满足关系 \(-2=3-5,2=-1+3\)。

2.2.6 \((p,q)>1\) 的情况

如果 \(p,q\) 存在公约数,且该公约数大于 \(1\),那么这时上面的结果我们是不能完全得到的。

下面我们来证明,如下结论。

Theorem 4. 若 \((p,q)>1\),不妨设其公约数为 \(g\),那么对于任意一个与 \(g\) 互素的正整数 \(z\),我们是找不到一组解 \(l_z,n_z\) 使得 \(l_zp+n_zq=z\) 成立。

证明. 因为 \((p,q)=g,g>1\),因此,不妨设 \(p=p'g,q=q'g\),于是若存在 \(l_z,n_z\) 使得 \(l_zp+n_zq=z\) 成立,那么我们有

\[l_zp+n_zq=l_zp'g+n_zq'g=(l_zp'+n_zq')g=z. \]

于是显然有 \(g|z\),但这与 \(g\neq 1\) 且 \((g,z)=1\) 矛盾。

证毕。\(\blacksquare\)

由证明,我们有以下更进一步的结论。

Theorem 5. 若 \((p,q)>1\),不妨设其公约数为 \(g\),那么对于任意一个与不能被 \(g\) 整除的正整数 \(z\),我们是找不到一组解 \(l_z,n_z\) 使得 \(l_zp+n_zq=z\) 成立。

与之相反,我们还有以下结论。

Theorem 6. 若 \((p,q)>1\),不妨设其公约数为 \(g\),那么对于任意一个与可以被 \(g\) 整除的正整数 \(z\),我们都能够找到解 \(l_z,n_z\) 使得 \(l_zp+n_zq=z\) 成立。

其证明过程同 \((p,q)=1\) 的情况,将 \(p,q,z\) 的公约数 \(g\) 提出后,即为 \((p,q)=1\) 的情况。

2.2.7 相关知识点

这里我们得到这样一个有益的结果,若 \((r,p)=1\),那么 \(r,2r,\cdots,pr\) 关于 \(p\) 取余,其值分别为 \(0\) 到 \(p-1\) 中的其中一个。这相当于群论中的一次 \(p\) 阶置换。

下面我们来分析一下随着 \(r\) 值从 \(1\) 到 \(p-1\),上述值关于 \(p\) 取余所构成的矩阵的性质。因为 \(pr\) 无论 \(r\) 值为什么关于 \(p\) 取余都为 \(0\),因此我们忽略这一特殊情况,研究 \(r\) 值从 \(1\) 到 \(p-1\) 的情况下,\(r,2r,\cdots,(p-1)r\) 关于 \(p\) 取余所构成的矩阵的性质。首先我们将该矩阵直观表示出来,即

\[\begin{pmatrix} (1\cdot1)\ mod(p)&(1\cdot2)\ mod(p)& \cdots & (1\cdot(p-1))\ mod(p) \\ (2\cdot1)\ mod(p)&(2\cdot2)\ mod(p)& \cdots & (2\cdot(p-1))\ mod(p) \\ \cdots & \cdots & \cdots & \cdots \\ ((p-1)\cdot1)\ mod(p)&((p-1)\cdot2)\ mod(p)& \cdots & ((p-1)\cdot(p-1))\ mod(p) \\ \end{pmatrix}\]

下面我们来得到该矩阵一个简单性质,即该矩阵是中心对称的。

证明. 不妨设该矩阵的第 \(i\) 行第 \(j\) 列元素为 \(a_{i,j},1\leq i,j\leq p-1\),那么显然有

\[a_{i,j}=(i\cdot j)\ mod(p), \]

其中心对称点为 \(a_{p-i,p-j}\),同样的我们有

\[\begin{aligned} a_{p-i,p-j}&=(p-i)(p-j)\ mod(p)\\ &=[p^2-(i+j)p+i\cdot j] mod(p)\\ &=(i\cdot j)\ mod(p). \end{aligned} \]

于是任意一点 \(a_{i,j}\) 都与其中心对称点 \(a_{p-i,p-j}\) 相等,因此,上面的矩阵是中心对称的。

证毕。\(\blacksquare\)

由证明过程(+乘法的对称性)我们还易知,该矩阵关于主对角线和副对角线都是轴对称的。

这里不再给出证明,而仅举例。

例如,令\(r\)从1取到4(\(r=1,2,3,4\)),\(p=5\),我们有矩阵:

\[\begin{aligned} &\ \ \ \begin{pmatrix} (1 \cdot 1)\ mod(5) & (1 \cdot 2)\ mod(5) & (1 \cdot 3)\ mod(5) & (1 \cdot 4)\ mod(5) \\ (2 \cdot 1)\ mod(5) & (2 \cdot 2)\ mod(5) & (2 \cdot 3)\ mod(5) & (2 \cdot 4)\ mod(5) \\ (3 \cdot 1)\ mod(5) & (3 \cdot 2)\ mod(5) & (3 \cdot 3)\ mod(5) & (3 \cdot 4)\ mod(5) \\ (4 \cdot 1)\ mod(5) & (4 \cdot 2)\ mod(5) & (4 \cdot 3)\ mod(5) & (4 \cdot 4)\ mod(5) \end{pmatrix} \\ &=\begin{pmatrix} 1 \ mod(5) & 2 \ mod(5) & 3 \ mod(5) & 4 \ mod(5) \\ 2 \ mod(5) & 4 \ mod(5) & 6 \ mod(5) & 8 \ mod(5) \\ 3 \ mod(5) & 6 \ mod(5) & 9 \ mod(5) & 12 \ mod(5) \\ 4 \ mod(5) & 8 \ mod(5) & 12 \ mod(5) & 16\ mod(5) \end{pmatrix} \\ &=\begin{pmatrix} 1 & 2 & 3 & 4 \\ 2 & 4 & 1 & 3 \\ 3 & 1 & 4 & 2 \\ 4 & 3 & 2 & 1 \\ \end{pmatrix} \end{aligned} \]

posted on 2026-10-22 18:13  论语  阅读(18)  评论(0)    收藏  举报

导航