首页 > 其他 > 详细

换零钞问题:一张100元,换成20,10,5,1面值的零钞,每种至少一张,共有哪些换法,总计多少种换法?

时间:2021-04-17 11:09:02      阅读:10      评论:0      收藏:0      [点我收藏+]

 

简单分析:前提每种至少一张

20元的可以至多有4张,10元的至多可以8,5元至多13张,1元至多65张.因为for i in range(n)只进行0-(n-1),所以改起始点为1,终点为n+1,总步长即为n。

count = 0
for i in range(1, 5):
    for j in range(1, 9):
        for k in range(1, 14):
            for n in range(1, 66):
                if 20 * i + 10 * j + 5 * k + n == 100:
                    print(i, j, k, n)
                    count += 1
print(count)

输出结果

C:\Users\Admin\Desktop\python\venv\Scripts\python.exe C:/Users/Admin/Desktop/python/main.py
1 1 1 65
1 1 2 60
1 1 3 55
1 1 4 50
1 1 5 45
1 1 6 40
1 1 7 35
1 1 8 30
1 1 9 25
1 1 10 20
1 1 11 15
1 1 12 10
1 1 13 5
1 2 1 55
1 2 2 50
1 2 3 45
1 2 4 40
1 2 5 35
1 2 6 30
1 2 7 25
1 2 8 20
1 2 9 15
1 2 10 10
1 2 11 5
1 3 1 45
1 3 2 40
1 3 3 35
1 3 4 30
1 3 5 25
1 3 6 20
1 3 7 15
1 3 8 10
1 3 9 5
1 4 1 35
1 4 2 30
1 4 3 25
1 4 4 20
1 4 5 15
1 4 6 10
1 4 7 5
1 5 1 25
1 5 2 20
1 5 3 15
1 5 4 10
1 5 5 5
1 6 1 15
1 6 2 10
1 6 3 5
1 7 1 5
2 1 1 45
2 1 2 40
2 1 3 35
2 1 4 30
2 1 5 25
2 1 6 20
2 1 7 15
2 1 8 10
2 1 9 5
2 2 1 35
2 2 2 30
2 2 3 25
2 2 4 20
2 2 5 15
2 2 6 10
2 2 7 5
2 3 1 25
2 3 2 20
2 3 3 15
2 3 4 10
2 3 5 5
2 4 1 15
2 4 2 10
2 4 3 5
2 5 1 5
3 1 1 25
3 1 2 20
3 1 3 15
3 1 4 10
3 1 5 5
3 2 1 15
3 2 2 10
3 2 3 5
3 3 1 5
4 1 1 5
84

Process finished with exit code 0

 

换零钞问题:一张100元,换成20,10,5,1面值的零钞,每种至少一张,共有哪些换法,总计多少种换法?

原文:https://www.cnblogs.com/wanglif/p/14669404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!