1.生活中的贪心算法

找零钱

  • 用100元,买了53元的东西,应该找回多少钱?
  • 如何用最少的纸币来完成?
    | 币值 | 数量 |
1元2
5元1
10元4
50元

贪心算法

在对问题求解时,在特定规则下,总是做出在当前看来是最好的选择

2.取整

符号

运算符符号表示
/除法运算
%取余运算
//取整数运算

使用案例

#运算案例
# 请尝试运行以下代码
print(5//2)
print(6//4)
print(3//2)

3.找零钱问题

目标:找47元
纸币:1、5、10、20、50
规则:使找的零钱的纸币张数最少

代码实现

#定义要找的目标价值
target=47

#定义币值列表
money=[50,20,10,5,1]

#需要的数量列表
number=[0,0,0,0,0]

#循环,进行计算
for i in range(5):
    #计算需要多少张当前面值
    number[i]=target//money[i]

    #计算还剩下多少钱
    target=target%money[i]


#打印结果
for i in range(5):
    print("需要",money[i],"元的纸币",number[i],"张")

4.综合练习

  • 你有很多张88元、44元、22元、1元、1元的纸币,输入个要支付的钱数,请你输出最少要用多少张纸币才能完成支付,并输出此时每种纸币需要用多少张。
    wyjE90.png
最后修改:2020 年 09 月 20 日
如果觉得我的文章对你有用,请随意赞赏