2012年8月19日 星期日

排列組合三-零錢問題


假設某國的硬幣的面值有 1、5、10、50 元四種,輸入一個金額 N (正整數,N<=1000),印出符合該金額的硬幣組合有多少種。

 輸入1:100
 輸入2:999

 輸出1:158
 輸出2:72800

(網路參考:http://www.tcgs.tc.edu.tw/~sagit/cpp/q12.htm)

1 則留言:

  1. Private Sub Form_Load()
    Me.Hide
    Dim m(1000), a(4)
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Do While Not EOF(1)
    a(1) = 1: a(2) = 5: a(3) = 10: a(4) = 50
    Input #1, n
    For i = 0 To n
    m(i) = 1
    Next
    For i = 2 To 4
    For j = 1 To n
    If j >= a(i) Then m(j) = m(j) + m(j - a(i))
    Next
    Next

    Print #2, m(n)

    Loop
    Close
    Close
    End
    End Sub

    回覆刪除