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

结论

  如果p,q均是正整数且互质,那么px+qy(x0,y0)不能表示的最大的数为pqpq=(p1)(q1)1

 

证明

  首先证明pqpq不能被px+qy(x0,y0)表示出来。

  反证法。假设pqpq可以被px+qy表示,即pqpq=px+qy,那么就有pq=p(x+1)+q(y+1)

  由于ppq, pp(x+1),所以有pq(y+1)。又因为pq互质,所以p(y+1)。又因为y0,因此有py+1,两边同时乘上q,所以有q(y+1)pq

  同理可证p(x+1)pq

  所以有p(x+1)+q(y+1)2pq>pq,矛盾。

  因此有pqpq不能被px+qy(x0,y0)表示出。

  下面证明大于pqpq的数一定可以用px+qy表示出来(x0, y0)

  假设有n>pqpq,可以表示为n=pqpq+z(z>0)。其中我们将z表示为z=k×min{p,q}+r,其中k0, 0r<min{p,q}, z>0

  由于gcd(p,q)=1,根据裴蜀定理必然存在整数xy使得等式px+qy=r成立。

  因此r就可以用pq来表示了,所以z也可以用pq来表示了,所以有

n=pqpq+z=pqpq+k×min{p,q}+px+qy=(q1+x)p+(y1)q+k×min{p,q}

  我们下面可以证明有

{q1+x0y10

  对于等式px0+qy0=r(0r<min{p,q}),可以发现至少存在一个解xy是要0的。

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

  假设有x0y0满足等式px0+qy0=r,那么xy的通解为

{x=x0+kqy=y0kp

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

  根据通解,我们规定将y都转换成0<yp这个区间范围内,此时对应的x=ryqp

  根据0<yprpqryq<rrpqpryqp<rprpqpx<rp因为x是整数,因此有rpqpryqp<rprpq+p1pryqp<rp又因为0r<min{p,q},因此rp=0,因此有r1+(1q)ppryqp<rp1qx<0

  因此对应任意一组满足等式px0+qy0=r(0r<min{p,q})的解x0, y0,我们都可以根据通解把解转换到0<yp, 1qx<0这个区间范围内。

  即有y1, x1q,满足上面给出的方程组

{q1+x0y10

  因此对于n=(q1+x)p+(y1)q+k×min{p,q},无论min{p,q}p还是q,等式中pq的系数都是满足0的。即证明了大于pqpq的数一定可以用px+qy来表示出来(x0, y0)

  综上所述,定理得证。

 

参考例题

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

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

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

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

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

输入格式

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

输出格式

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

数据范围

1a,b109

输入样例:

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 @   onlyblues  阅读(1350)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
Web Analytics
点击右上角即可分享
微信分享提示