Visual Basic Express 2010 中的随机值加起来为 100
Random values in Visual Basic express 2010 adding up to 100
我正在尝试在 Visual Basic 2010 Express 中编写一段代码,它生成 4 个不同的随机值,这些值加起来为 100 并在实际数值方面支持其中一个值,我知道我是怎样的将使某个值在价值方面受到青睐,但是我不确定是否将所有随机值加起来等于 100,有人可以提供一些原始代码或 sudo 代码供我使用吗?
规范的方式是:
- 生成 4 个随机值(r1、r2、r3、r4)- 您可以将它们放在一个数组或四个变量中。
- 计算
100/(r1+r2+r3+r4)
- 将你的 4 个值分别乘以这个数字
如果您需要整数,四舍五入可能会导致您的数字加起来不完全是 100。在这种情况下,请在 1..4 之间选择另一个随机整数,称其为 n,然后加上或从 r(n) 中减去,使总数加起来正好是 100。
从 0 到您的限制 (100) 生成 3 个随机数,但每次生成随机数时都要从您的限制中减去它。第 4 个数字将是 limit 的剩余值,这 4 个数字加起来为 100。
Module Module1
Sub Main()
Dim limit As Integer = 100
Dim rand As New Random
' Generate three random numbers
For i As Integer = 1 To 3
Dim newNumber = rand.Next(0, limit)
' Set your new limit by subtracting the random number
limit = limit - newNumber
Console.WriteLine(newNumber)
Next
' The 4th number will be whatever is left in limit
Console.WriteLine(limit)
Console.ReadLine()
End Sub
End Module
结果:
我正在尝试在 Visual Basic 2010 Express 中编写一段代码,它生成 4 个不同的随机值,这些值加起来为 100 并在实际数值方面支持其中一个值,我知道我是怎样的将使某个值在价值方面受到青睐,但是我不确定是否将所有随机值加起来等于 100,有人可以提供一些原始代码或 sudo 代码供我使用吗?
规范的方式是:
- 生成 4 个随机值(r1、r2、r3、r4)- 您可以将它们放在一个数组或四个变量中。
- 计算
100/(r1+r2+r3+r4)
- 将你的 4 个值分别乘以这个数字
如果您需要整数,四舍五入可能会导致您的数字加起来不完全是 100。在这种情况下,请在 1..4 之间选择另一个随机整数,称其为 n,然后加上或从 r(n) 中减去,使总数加起来正好是 100。
从 0 到您的限制 (100) 生成 3 个随机数,但每次生成随机数时都要从您的限制中减去它。第 4 个数字将是 limit 的剩余值,这 4 个数字加起来为 100。
Module Module1
Sub Main()
Dim limit As Integer = 100
Dim rand As New Random
' Generate three random numbers
For i As Integer = 1 To 3
Dim newNumber = rand.Next(0, limit)
' Set your new limit by subtracting the random number
limit = limit - newNumber
Console.WriteLine(newNumber)
Next
' The 4th number will be whatever is left in limit
Console.WriteLine(limit)
Console.ReadLine()
End Sub
End Module
结果: