当前位置: 移动技术网 > IT编程>脚本编程>Python > python基础编程_数制转换的递归,贪婪算法找零钱

python基础编程_数制转换的递归,贪婪算法找零钱

2018年04月09日  | 移动技术网IT编程  | 我要评论

索多玛120天迅雷下载,力力影视,鼠标 微动

python基础编程_数制转换的递归,贪婪算法找零钱。

def exchange(num,base):
    if num==0:
        return ''
    else:#修改return的前后顺序,结果也随之改变,正序和逆序
        return exchange(int(num/base),base)+str(num%base)
   
#递归的方式数制转换
num=121
base=2
bitnum=exchange(num,base)
print(bitnum)

贪婪算法实现找零钱,总是先与较大的面额进行比较,尽可能使钱币的张数最少

a=[100,50,10,5,2,1,0.5,0.2,0.1]
num=np.zeros(len(a))
money=float(input())
i=0
#首先判断输入与最大面额的大小关系,如果大于最大面额,那么
#总钱数减去最大面额,同时对应的数量加一,再次循环,仍与最大面额
#比较,若大了,操作同上,若小了,i加一,下次循环与次大的面额比较
while(money>0 and i<=len(a)-1):
    if money>a[i]:
        money=money-a[i]
        num[i]+=1
    elif money>0 and money<0.1:
        num[len(a)-1]+=1
        break
    else:
        i+=1
    
print(num)

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网