小计购书-春节来临,小计想用自己的零花钱购买一些书送给山区的小朋友,他来到书店挑了4本书,每本书的价格分别为6元、13元、15元、20元,小计想把钱用光同时尽量书本数量最多,输入小计的的零花钱,输出每种价格的图书购买的数量,小计的零花钱为大于等于35的整数。
输入
输入一行,包含一个整数n,n的值大于等于35。
输入样例 1
36
输出样例 1
6:6 13:0 15:0 20:0
思路:本题解答,要同时满足两个内定条件,一是买最多的书,二就是把钱花光。全买6元书当然买的最多,但还要把钱花光。所以,应当先假设,都买6元书,然后根据剩下的钱,再进行下一步运算。
当都买6元书时包括以下6种情况:
1.所有的钱正好花光,即 n%6==0
2剩下一元,n%6==1
以及剩下2,3,4,5元等四种情况
剩下0元,就可以得出,可以全买6元书,剩下1元的时候,就要在买六元书里面的钱挪出来,给1元,使其也可以买书,并且保证钱正好用光。
于是我们可以使用if方法来解决这道题,具体结果如下
if n%6==0 :
print("%d:%d" %(6,n/6),"%d:%d"%(13,0),"%d:%d"%(15,0),"%d:%d"%(20,0))
elif n%6==1 :
print("%d:%d"%(6,n/6-2),"%d:%d"%(13,1),"%d:%d"%(15,0),"%d:%d"%(20,0))
elif n%6==2 :
print("%d:%d"%(6,n/6-3),"%d:%d"%(13,0),"%d:%d"%(15,0),"%d:%d"%(20,1))
elif n%6==3 :
print("%d:%d"%(6,n/6-2),"%d:%d"%(13,0),"%d:%d"%(15,1),"%d:%d"%(20,0))
elif n%6==4 :
print("%d:%d"%(6,n/6-4),"%d:%d"%(13,1),"%d:%d"%(15,1),"%d:%d"%(20,0))
else :
print("%d:%d"%(6,n/6-5),"%d:%d"%(13,0),"%d:%d"%(15,1),"%d:%d"%(20,1))