2012年9月30日 星期日

100模擬 Problem 4-2:找零錢問題


子題 2:找零錢問題 (限制時間: 5 seconds)
目前台灣常用的銅板有50 元、10 元、5 元、1 元共四種。今天媽媽請小華去買東西換銅
板回來,且媽媽交待,要小華請老闆找零錢的數目要最少,小華帶了n 張的100 元紙幣,買
了n 項金額少於100 元東西,有n 筆數量的零錢要找給小華,請幫老闆算一算需找多少個50
元、10 元、5 元、1 元的銅板,其銅板數目最少。
輸入說明:
檔案輸入第一行為總共幾筆金額,接下來是每筆交易金額大小。
輸出說明:
請算出每筆交易金額可換回的銅板數量,依序列出50 元銅板數量,10 元銅板數量,5 元銅板
數量,1 元銅板數量。
輸入範例:【檔名:in-4-2-1.txt】
3
59
51
34
輸入範例:【檔名:in-4-2-2.txt】
2
25
10
輸出範例:【檔名:out-4-2.txt】
50,0 10,4 5,0 1,1
50,0 10,4 5,1 1,4
50,1 10,1 5,1 1,1
50,1 10,2 5,1 1,0
50,1 10,4 5,0 1,0

1 則留言:

  1. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\IN-4-2-1.TXT" For Input As #1
    Open App.Path & "\IN-4-2-2.TXT" For Input As #2
    Open App.Path & "\out.txt" For Output As #3
    For K = 1 To 2
    Input #K, n
    For k1 = 1 To n
    Input #K, X
    A = 100 - X
    A50 = 0: A10 = 0: A5 = 0: A1 = 0
    Do
    If A >= 50 Then
    A50 = A50 + 1: A = A - 50
    ElseIf A >= 10 Then A10 = A10 + 1: A = A - 10
    ElseIf A >= 5 Then A5 = A5 + 1: A = A - 5
    ElseIf A >= 1 Then A1 = A1 + 1: A = A - 1
    End If
    Loop Until A = 0
    Print #3, "50," & A50 & " 10," & A10 & " 5," & A5 & " 1," & A1
    Next
    Next
    Close
    Close
    Close
    End
    End Sub

    回覆刪除