python基础编程_数制转换的递归,贪婪算法找零钱
程序员文章站
2022-03-30 16:09:43
python基础编程_数制转换的递归,贪婪算法找零钱。
def exchange(num,base):
if num==0:
return...
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)