[C_MM249-易] 硬幣付錢方式
成績: 0 / 倒扣: 0.8
問題描述 :
小明某一天要去吃麵,已知身上只有 5 元、 10 元、 50 元硬幣各 4 個,假設一碗麵為 n 元,不可以找零錢,則他可以有幾種硬幣組合付錢方式呢 ? 請將所有可能的組合列出,每種組合,請列出 5 元、 10 元、 50 元硬幣各硬幣所需的數量;每種組合 ( 每一列 ) 由大到小排列。若無法付錢時,則輸出 null 。
例如一碗麵為 10 元答案如下 (5 元硬幣數量 , 10 元硬幣數量 , 50 元硬幣數量 ) :
2,0,0
0,1,0
輸入說明 :
輸入 1 整數,代表 1 碗麵的價錢。
例如:
10
輸出說明 :
列出所有可能的組合列出,每種組合。請列出 5 元、 10 元、 50 元硬幣各種硬幣所需的數量,用逗號分隔。每種組合 ( 每一列 ) 由大到小排列。若無法付錢時,則輸出 null 。
例如,輸出為:
2,0,0
0,1,0
範例 :
小明某一天要去吃麵,已知身上只有 5 元、 10 元、 50 元硬幣各 4 個,假設一碗麵為 n 元,不可以找零錢,則他可以有幾種硬幣組合付錢方式呢 ? 請將所有可能的組合列出,每種組合,請列出 5 元、 10 元、 50 元硬幣各硬幣所需的數量;每種組合 ( 每一列 ) 由大到小排列。若無法付錢時,則輸出 null 。
例如一碗麵為 10 元答案如下 (5 元硬幣數量 , 10 元硬幣數量 , 50 元硬幣數量 ) :
2,0,0
0,1,0
輸入說明 :
輸入 1 整數,代表 1 碗麵的價錢。
例如:
10
輸出說明 :
列出所有可能的組合列出,每種組合。請列出 5 元、 10 元、 50 元硬幣各種硬幣所需的數量,用逗號分隔。每種組合 ( 每一列 ) 由大到小排列。若無法付錢時,則輸出 null 。
例如,輸出為:
2,0,0
0,1,0
範例 :
輸入範例 | 輸出範例 |
10 | 2,0,0 0,1,0 |
25 | 3,1,0 1,2,0 |
250 | 4,3,4 2,4,4 |
500 | null |
m = int(input())
result = []
for i in reversed(range(0, 5)):
for j in reversed(range(0, 5)):
for k in reversed(range(0, 5)):
if i*5 + j*10 + k*50 != m:
continue
else:
result.append([i,j,k])
if len(result) == 0:
print('null')
else:
for i in range(len(result)):
strs = ''
for j in result[i]:
strs += str(j)+','
print(strs.strip(','))
沒有留言:
張貼留言