Способы потратить определенную сумму денег определенными монетами - Visual Basic .NET
Формулировка задачи:
У Вас А монет по Х рублей и В монет по Y рублей. Можно ли с их помощью заплатить Z рублей, если да - то как?
Если можно то с пояснением, заранее спасибо!
Решение задачи: «Способы потратить определенную сумму денег определенными монетами»
textual
Листинг программы
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim X As Integer = Val(InputBox("Введите номинал монет №1", "Ввод данных", 2))
Dim n1 As Integer = Val(InputBox("Введите количество монет №1", "Ввод данных", 10))
Dim Y As Integer = Val(InputBox("Введите номинал монет №2", "Ввод данных", 5))
Dim n2 As Integer = Val(InputBox("Введите количество монет №1", "Ввод данных", 20))
Dim Z As Integer = Val(InputBox("Сколько нужно заплатить.", "Ввод данных", 17))
Dim A, B As Integer, k As Integer, s As String = "Чтобы заплатить " & Z & " руб. нужно:" & vbCrLf
For A = 0 To n1
For B = 0 To n2
If A * X + B * Y = Z Then
k += 1
s &= vbCrLf & "Вариант №" & k.ToString & ":" & vbCrLf & _
IIf(A > 0, "монет по " & X & " руб.: " & A & " шт." & vbCrLf, "") & _
IIf(B > 0, "монет по " & Y & " руб.: " & B & " шт.", "") & vbCrLf
End If
Next
Next
MsgBox(IIf(k = 0, "Вариантов нет.", s))
End Sub