|
发表于 2021-4-25 10:02:57
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lwyuan源 于 2021-4-25 11:43 编辑
练习:假设有面值为1元、2元、5元的货币,每种面值货币的数量分别为a、b、c (a、b、 c大于或等于0)
计算:当1*a+2*b+5*c=94时, a+b+c的最小值,最后分别输出a、b、c和a+b+c的值。 要求用递归函数完成!
本帖最后由 qq1151985918 于 2021-4-25 13:04 编辑
- def add_list(list1: list, list2: list, long: "int >= 0" = 3) -> list:
- return [list1[i] + list2[i] for i in range(long)]
- def fun(rmb: "int >= 0" = 0) -> list:
- if rmb in [0, 1]:
- return [rmb, 0, 0]
- if rmb >= 5 :
- return add_list([0, 0, 1], fun(rmb - 5))
- if rmb >= 2:
- return add_list([0, 1, 0], fun(rmb - 2))
复制代码
|
|