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;