题目描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
题目链接
题解
不妨设a<b
假设答案为 x
若
x≡ma(mod b)(1≤m≤b−1)
即
x=ma+nb(1≤m≤b−1)x=ma+nb(1≤m≤b−1)
显然当 n≥0≥0 时 x 可以用 a,b 表示出来,但是不合题意。
因此当 n=−1 时 x 取得最大值,此时 x=ma−b。
显然当 m 取得最大值 b−1 时 x 最大,此时 x=(b−1)a−b=ab−a−b
因此 a,b 所表示不出的最大的数是 ab−a−b
AC代码 (100分)
#include <cstdio>
typedef long long ll;
int main(int argc, char