题目描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
题目链接
题解
不妨设 a < b
假设答案为 x
若
x≡ma(mod b)(1<=m<=b-1)
即
x = ma + nb (1<=m<=b-1)
显然当 n≥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
附上简短代码:(这题太水了)
#include<bits/stdc++.h> using namespace std; int main(){ long long a,b; scanf("%lld%lld",&a,&b); long long ans; ans=a*b-a-b; printf("%lld",ans); return 0; }