跳到主要内容

[NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目

链接: [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目

题目背景

NOIP2017 提高组 D1T1

题目描述

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?

注意:输入数据保证存在小凯无法准确支付的商品。

输入格式

两个正整数 aabb,它们之间用一个空格隔开,表示小凯中金币的面值。

输出格式

一个正整数 NN,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

样例 #1

样例输入 #1

3 7

样例输出 #1

11

提示

【输入输出样例 1 说明】

小凯手中有面值为 3377 的金币无数个,在不找零的前提下无法准确支付价值为 1,2,4,5,8,111,2,4,5,8,11 的物品,其中最贵的物品价值为 1111,比 1111 贵的物品都能买到,比如:

12=3×4+7×012 = 3 \times 4 + 7 \times 0

13=3×2+7×113 = 3 \times 2 + 7 \times 1

14=3×0+7×214 = 3 \times 0 + 7 \times 2

15=3×5+7×015 = 3 \times 5 + 7 \times 0

【数据范围与约定】

对于 30%30\% 的数据: 1a,b501 \le a,b \le 50

对于 60%60\% 的数据: 1a,b1041 \le a,b \le 10^4

对于 100%100\% 的数据: 1a,b1091 \le a,b \le 10^9

题解

数论的结论

我不会qwq... -> C/C++买不到的数目题解(内含数论重要结论)【沈七】

如果 a,b 均是正整数且互质,
那么由 ax+by,x≥0,y≥0 不能凑出的最大数是 a*b−a−b。
C++
#include <iostream>
using namespace std;
int main() {
long long n,m;
cin >> n >> m;
cout << n * m - m - n;
return 0;
}
C++
请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...