我试图以编程方式找到等式中的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
答案 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
您所显示的等式没有单一的解决方案。
或者你真的要求其他东西吗?