結論
如果$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