換零鈔問題:一張100元,換成20,10,5,1面值的零鈔,每種至少一張,共有哪些換法,總計多少種換法?


 

簡單分析:前提每種至少一張

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM