chainsawriot

Home | About | Archive

無聊問題

Posted on Apr 16, 2009 by Chung-hong Chan

夢想中有個程式應是這樣的:

我輸入我想買的麥當勞食物,例如一個雙層芝士孖堡,一個中薯條,一杯中可樂,一個至尊漢堡。

全部單買的話價錢是

雙層芝士孖堡 12.5 元
至尊漢堡 16.8 元
中薯條 8.8 元
中可樂 8.5 元

總數是 46.6 元。但是我們知道雙層芝士孖堡+中薯條+中可樂是雙層芝士孖堡套餐。至尊漢堡+中薯條+中可樂是至尊漢堡套餐。
雙層芝士孖堡套餐是 23.8 元,至尊漢堡套餐是 26.5 元。
如果買雙層芝士孖堡套餐加至尊漢堡是 23.8 + 16.8 = 40.6 ,如果買至尊漢堡套餐加雙層芝士孖堡是 26.5 + 12.5 = 39 。亦即是選買至尊漢堡套餐加雙層芝士孖堡能省 1.6 元。

這個 program 的目的是要找出最低價的組合。我想這個程式的演算法第一步是找出用戶輸入的食物能夠組成怎樣的不同套餐組合。因為買套餐應在任何時候都比單買便宜。再比較不同組合的價錢。這個我想是最直接的演算法。我在想到底有沒有更好的演算法。 ((p.s. 我沒有 CS degree 。))


Powered by Jekyll and profdr theme