1. 程式人生 > 其它 >P3951【NOIP2017 提高組】小凱的疑惑 題解

P3951【NOIP2017 提高組】小凱的疑惑 題解

題目描述

小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。每種金幣小凱都有無數個。在不找零的情況下,僅憑這兩種金幣,有些物品他是無法準確支付的。現在小凱想知道在無法準確支付的物品中,最貴的價值是多少金幣?注意:輸入資料保證存在小凱無法準確支付的商品。

題目連結

NOIP2017 小凱的疑惑

題解


不妨設a < b

假設答案為x

x≡ma(mod b)(1<=m<=b-1)

x = ma + nb (1<=m<=b-1)

顯然當n0時x可以用a, b表示出來,不合題意。

因此當n = -1x取得最大值,此時x = ma - b

顯然當m取得最大值b - 1x最大,此時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;
}