Description
给定两个互质的整数,问用这两个整数的倍和无法表示的整数中的最大值是多少。
Solution
这题当年考场上就是找规律的,也一直没有细究证明。答案当然是人尽皆知的 \(ab-a-b\)。
即要证明 \((p,q)=1\) 时使得 \(px+qy=n\) 无非负整数解的最大正整数为 \(pq-p-q\)。
首先证明 \(ab-a-b\) 不能被表示。
假设存在 \(x,y\) 使得 \(px+qy=pq-p-q\),那么 \(p(x+1)+q(y+1)=pq\)。
变形得到 \(p(q-x-1)=q(y+1)\),于是有 \(p|q(y+1)\),而 \((p,q)=1\),故 \(p|(y+1)\)。同理有 \(q | (x+1)\)。
设 \(y+1=pi,x+1=qj\),则 \(pqi+pqj=pq\) 即 \(i+j=1\),而 \(i \ge 1, j \ge 1\),矛盾。
下面证明任意 \(ab-a-b+t, t\ge 1\) 都可以被表示为 \(ax+by\)。
设 \(au+bv=t\),则其有特解 \(u_0 \ge 0, v_0 \in [-a+1,0]\)。
于是 \(ab-a-b+t=ab-a-b+au_0+bv_0=(u_0-1)a+(v_0+a-1)b\),证毕。
#include <bits/stdc++.h>
using namespace std;
#define int long long
int a, b;
signed main()
{
ios::sync_with_stdio(false);
cin >> a >> b;
cout << a * b - a - b << endl;
}