python:找零钱方案
def zhaoling(price,pay):
re=float(pay)-float(price)
if re==0:
return 0
coins=[50,10,5,1]
decoin=[0.5,0.2,0.1]
restr=str(re)
integer=int(restr.split(".")[0])
decimal=round(float(restr.split(".")[1])*0.1,1)
redict={}
for i in coins:
n=integer//i
if n!=0:
redict[i]=n;
integer=integer%i
if integer==0:
break;
for i in decoin:
n=decimal//i
if n!=0:
redict[i]=int(n);
decimal=decimal%i
if decimal==0:
break;
ret=""
for i in redict:
ret=ret+str(i)+":"+str(redict[i])+";"
print(str(re)+" "+ret)
def main():
x =input()
a=x.split(" ")
zhaoling(a[0],a[1])
if __name__ =='__main__':
main()
输入:
26.5 50
输出:
23.5 10:2;1:3;0.5:1;
输入:
27 50
输出:
23.0 10:2;1:3;