小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。
輸入:兩個正整數,表示每種包裝中糖的顆數(都不多於1000)
要求輸出:
乙個正整數,表示最大不能買到的糖數
不需要考慮無解的情況
例如:使用者輸入:
4 7程式應該輸出:
17再例如:
使用者輸入:
3 5程式應該輸出:
7資源約定:
峰值記憶體消耗 < 64m
cpu消耗 < 3000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。
所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。
注意: main函式需要返回0
注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。
注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。
提交時,注意選擇所期望的編譯器型別。
思路:和第八屆的包子湊數很像,但是比那個題簡單。比如有4和7,那麼4、7可以買到,4+4、4+7、7+4、7+7也可以買到,同理把前面這些數字再加上4和7的數也可以買到,以此類推就可以用乙個陣列記錄下所有可以買到的數。接下來就是要找最大買不到的數,假如輸入的是m、n,我們可以記錄下其中較小的那個為min,那麼我們在上一步生成的陣列中搜尋買得到數,如果有連續min個數都可以買到,那麼這個數減掉min就是最大買不到的數目了。
**:
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
int main()
; cin >> m >> n;
sweet[m] = sweet[n] = 1;
minx = min(m, n);
for (i = 1; i < 100000; i++) }
int flag = 0, count = 0;
for (i = 1; i < 100000; i++)
if (flag && !sweet[i])
if (count == minx)
break;
} cout << i - minx << endl;
return 0;
}
第四屆藍橋杯省賽C A組 剪格仔
如圖p1.jpg所示,3 x 3 的格仔中填寫了一些整數。我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。本題的要求就是請你程式設計判定 對給定的m x n 的格仔中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。如果存在多種解答,請輸出包含左上角格仔的那個區域包含的格...
第四屆藍橋杯省賽C A組 大臣的旅費
很久以前,t王國空前繁榮。為了更好地管理國家,王國修建了大量的快速路,用於連線首都和王國內的各大城市。為節省經費,t國的大臣們經過思考,制定了一套優秀的修建方案,使得任何乙個大城市都能從首都直接或者通過其他大城市間接到達。同時,如果不重複經過大城市,從首都到達每個大城市的方案都是唯一的。j是t國重要...
第四屆藍橋杯 買不到的數目
問題描述 小明開了一家糖果店。他別出心裁 把水果糖包成 4 顆一包和 7 顆一包的兩種,糖果不能拆包賣。小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於 17 的任何數字都可以...