Public Class frmMoney
Const conMax = 9
Public intValue(conMax) As Integer
Private Sub frmMoney_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblTell.Text = "贪婪算法追求最快得到结果的算法,它可能不是最优解。" & vbCrLf &
"例如找零钱的组合可能有很多,贪婪算法从大面值到小面值按每种面值最大可能来考虑。"
lblMoney.Text = "零钱数额"
End Sub
Private Sub btnMoney_Click(sender As Object, e As EventArgs) Handles btnMoney.Click
intValue = {10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10}
Dim intNum(conMax) As Integer
If IsNumeric(txtMoney.Text) Then
Dim intMoney As Integer
Try
intMoney = CInt(txtMoney.Text * 100)
If intMoney > 0 AndAlso intMoney < 10000 Then
exchange(intMoney, intNum)
lstMoney.Items.Clear()
For intI As Integer = 0 To conMax
lstMoney.Items.Add("面值" & intValue(intI) / 100 & "元 " & intNum(intI) & "张")
Next
Else
MsgBox("错误,零钱数额超出合理范围,请重新输入")
End If
Catch ex As Exception
MsgBox("错误,数字超出范围")
End Try
Else
MsgBox("错误,不是数字")
End If
End Sub
Private Sub exchange(ByVal intMoney As Integer, ByRef intNum() As Integer)
intValue = {10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10}
Dim intI, intJ As Integer
If intMoney Mod 10 >= 5 Then
intMoney = (intMoney \ 10 + 1) * 10
Else
intMoney = (intMoney \ 10) * 10
End If
For intI = 0 To conMax
If intMoney >= intValue(intI) Then
For intJ = 1 To conMax
If intMoney >= intJ * intValue(intI) Then
intNum(intI) = intJ
Else
intMoney = intMoney - (intJ - 1) * intValue(intI)
Exit For
End If
Next
ElseIf intMoney = 0 Then
Exit For
End If
Next
End Sub
Private Sub 作品集ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 作品集ToolStripMenuItem.Click
Process.Start("https://pan.baidu.com/s/1jr_3Yt5l1i6jNNbMy4R61A")
My.Computer.Clipboard.Clear()
My.Computer.Clipboard.SetText("5ycz")
MsgBox("提取码5ycz已复制,直接到网页粘贴即可")
End Sub
Private Sub 更新下载ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 更新下载ToolStripMenuItem.Click
Process.Start("https://pan.baidu.com/s/18R8VmtMD8y7gE87sBeve9A")
My.Computer.Clipboard.Clear()
My.Computer.Clipboard.SetText("ewce")
MsgBox("提取码ewce已复制,直接到网页粘贴即可")
End Sub
Private Sub 代码浏览ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 代码浏览ToolStripMenuItem.Click
Process.Start("https://blog.youkuaiyun.com/kguncn/article/details/109262613")
End Sub
End Class