一道小学奥数题如下:
妈妈身上有473元,可以买如下物品,《西游记》70元一套,《三国演义》61元一套,《红楼梦》35元一套,《水浒传》28元一套,《古代发明》25元一套。以上已知可以买套,也可以不买,要求买完书后身上的钱剩下的越少越好。问:怎么组合购买物品,最后剩下多少钱?
这个题目的本质是整数分解成多个整数的倍数和问题。我们假定买这五种书的套数分别为
《西游记》:b1套,
《三国演义》:b2套
《红楼梦》:b3套
《水浒传》:b4套
《古代发明》:b5套
题目就是要求473-70b1-61b2-35b3-28b4-25*b5的最小值。
用Python建立以下程序:
def myfunction(money, xyj_price, hlm_price, sg_price, shz_price, gd_price):
a=[]
for xyj_num in range(money//xyj_price):
for hlm_num in range(money//hlm_price)