-提取碼:31p6
◆描述小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。每種金幣小凱都有 無數個。在不找零的情況下,僅憑這兩種金幣,有些物品他是 無法準確支付的。現在小凱想知道在無法準確支付的物品中,最貴的價值是多少金幣?注意:輸入資料保證存在小凱無法準確支付的商品。
◆輸入輸入資料僅一行,包含兩個正整數 a 和 b,它們之間用乙個空格隔開,表示小凱手 中金幣的面值。
◆輸出輸出檔案僅一行,乙個正整數 n,表示不找零的情況下,小凱用手中的金幣不能準確支付的最貴的物品的價值。
◆樣例輸入
3 71
◆樣例輸出111
◆樣例說明
小凱手中有面值為3和7的金幣無數個,在不找零的前提下無法準確支付價值為1、 2、4、5、8、11 的物品,其中最貴的物品價值為 11,比 11 貴 的物品都能買到,比如:
12=3×4+7×0
13=3×2+7×1
14=3×0+7×2
15=3×5+7×0
◆資料範圍與約定
對於 30%的資料: 1≤a,b≤50。
對於 60%的資料: 1≤a,b≤104。
對於 100%的資料:1≤a,b≤109 。
②涉及數學知識補充:
◆同余於(≡): b)等價於a=kb+m)
◆剩餘類:
◆完全剩餘系:完全剩餘系/3712670?fr=aladdin
③解題思路
因為(a,b)=1,所以為模b的完全剩餘系。
設錢數為t,則t一定滿足(因為為模b的完全剩餘系):t≡ka(mod b),(0≤k≤b−1)。
若t≥ka,則t一定可以表示為ka+nb,(n≥0),所以t<0)則此時t最大為ka−b,
顯然,當k最大時t最大,所以t=(b−1)a−b=ab−a−b。
④**#include
using namespace std;
int main()
{int long long a,b,t;
cin>>a>>b;
t=a*b-a-b;
cout<⑤一題多解
找規律:
原文:
NOIP2017 小凱的疑惑
簡化一下問題,就是對於ax by c,求乙個最大的c,使得方程不存在非負整數解。我們設有一組特解 x0,y0 那麼根據此類直線方程的性質,則通解可表示為 x0 kb,y0 ka 顯然,存在一組特解 x1,y1 使得0 x1 b 1,我們試圖研究那些不存在非負整數解的情況,所以設y1 1。此時,c a...
題解 神奇校內POIN模擬賽 小凱的疑惑
題外話 sol 套路 我 這是什麼神仙思路?給定一棵有 n 個節點的樹,你可以選擇一些點,這些點不能相鄰 你所得到的總價值為這些節點的權值的乘積 求最大的價值 mod 998244353 考慮乙個神奇的東西 對數 顯然我們有 如果 ab c 那麼 log x a log x b log c 所以,問...
提高組NOIP2017 小凱的疑惑(附證明)
小凱的疑惑 描述小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。每種金幣小凱都有 無數個。在不找零的情況下,僅憑這兩種金幣,有些物品他是無法準確支付的。現在小 凱想知道在無法準確支付的物品中,最貴的價值是多少金幣?注意 輸入資料保證存在 小凱無法準確支付的商品 輸入輸入資料僅一行,包含兩個正...