[NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目
题目背景
NOIP2017 提高组 D1T1
题目描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。
输入格式
两个正整数 a a a 和 b b b,它们之间用一个空格隔开,表示小凯中金币的面值。
输出格式
一个正整数 N N N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
样例 #1
样例输入 #1
3 7
样例输出 #1
11
/*
* @Description: To iterate is human, to recurse divine.
* @Autor: Recursion
* @Date: 2022-07-09 21:30:43
* @LastEditTime: 2022-07-09 21:41:15
*/
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
const int INF = 1e9 + 10;
const int N = 1e6;
LL a,b;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> a >> b;
cout << a*b - a - b << endl;
return 0;
}
设结果为
x
x
x
x
=
n
∗
a
(
m
o
d
)
b
(
1
≤
n
≤
b
−
1
)
x = n*a(mod)b (1\le n \le b-1)
x=n∗a(mod)b(1≤n≤b−1)
可得
x
=
n
a
+
m
b
(
1
≤
n
≤
b
−
1
)
x = na + mb(1\le n \le b-1)
x=na+mb(1≤n≤b−1)
当
m
>
=
0
m>=0
m>=0时 恒成立
m
=
−
1
m = -1
m=−1时
x
x
x最大
n
=
b
−
1
n = b-1
n=b−1时
x
x
x最大
即
x
=
(
b
−
1
)
∗
a
−
b
=
a
b
−
a
−
b
x = (b-1)*a-b=ab-a-b
x=(b−1)∗a−b=ab−a−b