两个互质的正整数不能凑出的最大数的证明

结论

  如果$p, q$均是正整数且互质,那么$px + qy$$\left( {x \geq 0, y \geq 0} \right)$不能表示的最大的数为$pq - p - q = \left( {p-1} \right) \left( {q-1} \right) - 1$。

 

证明

  首先证明$pq - p - q$不能被$px + qy$$\left( {x \geq 0, y \geq 0} \right)$表示出来。

  反证法。假设$pq - p - q$可以被$px + qy$表示,即$pq - p - q = px + qy$,那么就有$pq = p \left( {x+1} \right) + q \left( {y+1} \right)$。

  由于$p \mid pq,~p \mid p \left( {x+1} \right)$,所以有$p \mid q\left( {y+1} \right)$。又因为$p$和$q$互质,所以$p \mid \left( {y+1} \right)$。又因为$y \geq 0$,因此有$p \leq y + 1$,两边同时乘上$q$,所以有$q \left( {y+1} \right) \geq pq$。

  同理可证$p \left( {x+1} \right) \geq pq$。

  所以有$p \left( {x+1} \right) + q \left( {y+1} \right) \geq 2pq > pq$,矛盾。

  因此有$pq - p - q$不能被$px + qy$$\left( {x \geq 0, y \geq 0} \right)$表示出。

  下面证明大于$pq - p - q$的数一定可以用$px+qy$表示出来$\left( {x \geq 0,~ y \geq 0} \right)$。

  假设有$n > pq - p - q$,可以表示为$n = pq - p - q + z$$\left( {z > 0} \right)$。其中我们将$z$表示为$z = k \times min \left\{ {p, q} \right\} + r$,其中$k \geq 0,~ 0 \leq r < min \left\{ {p, q} \right\},~ z > 0$。

  由于$gcd \left( {p, q} \right) = 1$,根据裴蜀定理必然存在整数$x$和$y$使得等式$px + qy = r$成立。

  因此$r$就可以用$p$和$q$来表示了,所以$z$也可以用$p$和$q$来表示了,所以有

\begin{align*}
n &= pq - p - q + z \\
&= pq - p - q + k \times min \left\{ {p, q} \right\} + px + qy \\
&= \left( {q-1+x} \right) p + \left( {y-1} \right) q + k \times min \left\{ {p, q} \right\}
\end{align*}

  我们下面可以证明有

\begin{cases}
q - 1 + x &\geq 0 \\
y - 1 &\geq 0
\end{cases}

  对于等式$px_{0} + qy_{0} = r$$\left( {0 \leq r < min \left\{ {p, q} \right\}} \right)$,可以发现至少存在一个解$x$或$y$是要$\geq 0$的。

  可以用反证法,假设两个解都是小于$0$的,由于$p,~ q > 0$因此必然有$px + qy < 0$,这就与$0 \leq r < min \left\{ {p, q} \right\}$矛盾了。

  假设有$x_{0}$和$y_{0}$满足等式$px_{0} + qy_{0} = r$,那么$x$和$y$的通解为

\begin{cases}
x = x_{0} + kq \\
y = y_{0} - kp
\end{cases}

  对于$r = 0$的情况,我们可以有$x = 0,~ y = 0$,取$k = -1$,代入到通解中,解就变成了$y = p,~ x = -q$。因此对于两个解都取$0$的情况,我们可以转换为一个大于$0$,另一个小于$0$。因此对于$0 \leq r < min \left\{ {p, q} \right\}$,变成了至少存在一个解大于$0$。

  根据通解,我们规定将$y$都转换成$0 < y \leq p$这个区间范围内,此时对应的$x = \frac{r - yq}{p}$。

  根据$0 < y \leq p$有\begin{align*} r - pq &\leq {r - yq} < r \\ \frac{r-pq}{p} &\leq {\frac{r-yq}{p}} < \frac{r}{p} \end{align*}即$$\frac{r-pq}{p} \leq x < \frac{r}{p}$$因为$x$是整数,因此有$$\left \lceil \frac{r-pq}{p} \right \rceil \leq \frac{r-yq}{p} < \left \lfloor \frac{r}{p} \right \rfloor$$即$$\left \lfloor \frac{r-pq+p-1}{p} \right \rfloor \leq \frac{r-yq}{p} < \left \lfloor \frac{r}{p} \right \rfloor$$又因为$0 \leq r < min \left\{ {p, q} \right\}$,因此$\left \lfloor \frac{r}{p} \right \rfloor = 0$,因此有$$\left \lfloor \frac{r-1+ \left( {1-q} \right)p}{p} \right \rfloor \leq \frac{r-yq}{p} < \left \lfloor \frac{r}{p} \right \rfloor$$即$1 - q \leq x < 0$。

  因此对应任意一组满足等式$px_{0} + qy_{0} = r$$\left( {0 \leq r < min \left\{ {p, q} \right\}} \right)$的解$x_{0},~ y_{0}$,我们都可以根据通解把解转换到$0 < y \leq p,~ 1-q \leq x < 0$这个区间范围内。

  即有$y \geq 1,~ x \geq 1 - q$,满足上面给出的方程组

\begin{cases}
q - 1 + x &\geq 0 \\
y - 1 &\geq 0
\end{cases}

  因此对于$n = \left( {q-1+x} \right) p + \left( {y-1} \right) q + k \times min \left\{ {p, q} \right\}$,无论$min \left\{ {p, q} \right\}$是$p$还是$q$,等式中$p$和$q$的系数都是满足$\geq 0$的。即证明了大于$pq - p - q$的数一定可以用$px+qy$来表示出来$\left( {x \geq 0,~ y \geq 0} \right)$。

  综上所述,定理得证。

 

参考例题

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。

每种金币小凯都有无数个。

在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?

注意:输入数据保证存在小凯无法准确支付的商品。

输入格式

输入数据仅一行,包含两个正整数 $a$ 和 $b$,它们之间用一个空格隔开,表示小凯手中金币的面值。

输出格式

输出文件仅一行,一个正整数 $N$,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

数据范围

$1 \leq {a,b} \leq {10}^{9}$

输入样例:

3 7

输出样例:

11

  这题就是考察这个结论,对应的AC代码如下:

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 
 5 int main() {
 6     int a, b;
 7     cin >> a >> b;
 8     cout << (a - 1ll) * (b - 1) - 1;
 9     
10     return 0;
11 }

 

参考资料

  AcWing 525. 小凯的疑惑:https://www.acwing.com/solution/acwing/content/3165/

  数论:px+py 不能表示的最大数为pq-p-q的证明:https://www.cnblogs.com/Yuzao/p/7074465.html

posted @ 2022-04-11 23:05  onlyblues  阅读(942)  评论(2编辑  收藏  举报
Web Analytics