python 贪心算法例子

假设有四种硬币:2.5角,1角,5分,1分,给一个人合计6.3角,最少要多少硬币?

代码如下:

a=[]

for i in range(0,4):

for j in range(0,7):

for h in range(0,13):

for m in range(0,64):

if i*2.5+j*1+h*0.5+m*0.1==6.3:

b=i+j+h+m

a.append(b)

a.sort()

print(a[0])

所有可能的枚数:[6, 7, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 13, 13, 14, 14, 14, 15, 15, 15, 15, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 21, 21, 22, 22, 23, 23, 23, 24, 25, 26, 27, 45, 46, 47]

最少需要6枚,2枚2.5角的,1枚1角的,3枚1分的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180530G0ZFC600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券