计算百分比方程中两个变量的值

时间:2012-11-23 19:18:22

标签: vb.net

我试图以编程方式找到等式中的x和y的值 146 + x + y除以7 = 28.13% x并且y包含19到43之间的任何值。 这里是x和y得到25的代码,我做错了什么?

Public Class Form1
    Dim percentage, x, y, f As Integer
    Public Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer
        Dim Generator As System.Random = New System.Random()
        Return Generator.Next(Min, Max)
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        percentage = 28.13

        Do Until f = 4
            If (146 + x + y) / 7 = percentage Then
                MessageBox.Show(x)
                MessageBox.Show(y)
                f = 4
            End If
            x = GetRandom(19, 43)
            y = GetRandom(19, 43)

        Loop


    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        x = 19
        y = 19
    End Sub
End Class

2 个答案:

答案 0 :(得分:2)

1)您将percentage声明为整数但尝试将其设置为28.13,这不是整数。

2)不要继续重新创建一个新的随机对象:

Public Class Form1
  Private Generator As New Random()

  Public Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer
    Return Generator.Next(Min, Max)
  End Function

3)如果 等于28.13,那么如果不将百分比作为小数表示然后在等式上使用Math.Round(...),则可能无法工作,但即便如此,我认为你不会有任何x和y整数满足精确相等的等式。

答案 1 :(得分:2)

您正在寻找(x + y)= 50.91,其中x在[19,43]中,y在[19,43]中。

因此,选择一个x,然后选择y = 50.91-x

您所显示的等式没有单一的解决方案。

或者你真的要求其他东西吗?