1205. 买不到的数目

首先说明两个数如果不互质那么本题无解

裴蜀定理: \(gcd(a, b) = c, 如果c > 1那么一定存在x和y使得xa + yb = c\)

假设两个数不互质,假设存在最大的能表示的数m,那么有:
\(xa + yb = m, 由于gcd(a, b) = c, 那么m = kc, 即xa + yb = kc, \\又由于一定存在h,r使得ha + rb = c, 那么有等式(x + h)a + (y + r)b = (k + 1)c, \\而(k + 1)c > kc = m,\\所以m不是a和b能表示的最大的数,\\所以和假设矛盾,获证:a和b不互质,它们能够表示的最大数不存在\)

所以题目的数据p和q一定互质。
首先打表找规律
3 2 1
3 4 5
3 5 7
3 7 11
3 8 13
3 10 17
3 11 19
发现对于p, q为3, n的情况下
3, n(n >= 2)情况下最大的不能表示的数是m
那么3, n + 1 最大不能表示的数为m + 2
所以对于p = 3时 3, n最大的不能表示的数为1 + 2 * (n - 2) = 2n - 3
接着打表得到p = 4时的规律为
4 3 5
4 5 11
4 7 17
4 9 23
4 11 29
4 13 35
得到5 + 3*(n - 3) = 3n - 4
然后以此类推
p, q为任意值时,结论为 \((p - 1) * q - p = pq - q - p = (p - 1)(q - 1) - 1\)
所以得到结论两个互质的数最大不能表示的数为 \((p - 1)(q - 1) - 1\)
这也是一个结论,证明非常麻烦。。。这里就先用了
有代码:

#include<iostream>
using namespace std;

int main(){
    int p, q;
    cin >> p >> q;
    
    cout << p * q - p - q << endl;
    return 0;
}
posted @ 2020-09-03 16:04  yys_c  阅读(116)  评论(0编辑  收藏  举报