Python練習題4.15換硬幣(存在問題)


將一筆零錢換成5分、2分和1分的硬幣,要求每種硬幣至少有一枚,有幾種不同的換法?

輸入格式:

輸入在一行中給出待換的零錢數額x∈(8,100)。

輸出格式:

要求按5分、2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。每行輸出一種換法,格式為:“fen5:5分硬幣數量, fen2:2分硬幣數量, fen1:1分硬幣數量, total:硬幣總數量”。最后一行輸出“count = 換法個數”。

代碼如下:(程序有點問題,超時可以理解,但是還有一個答案錯誤,后面再補充吧)

#!/usr/bin/python
# -*- coding: utf-8 -*-

n = int(input())

a,b,c=1,2,5
count = 0
for x in range(1,n):
    for y in range(1,n):
        for z in range(1,n):
            if a*x +b*y + c*z == n :
                count += 1
                print("fen5:{}, fen2:{}, fen1:{}, total:{}".format(z,y,x,x+y+z))

print("count =",count)

錯誤圖:

image

這個程序理解起來不難,實現起來也不難。嵌套循環即可。


讀書和健身總有一個在路上


免責聲明!

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



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