如何在 0 到 800 之间获得 50 的随机倍数?
所以我需要数字:
0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800。
我试过使用math.getrandomnumber(800)
但这给了我任何数字。
得到一个介于 0
和 16
之间的随机数,然后将其乘以 50
。
你应该得到一个低于 16 的随机数。然后将 16 x 50 以下的随机数相乘。这样,您将始终得到 50 低于 800 的随机倍数。因为 50 x 16 = 800。16 是您可以乘以 50 的最大数字。
RandomNumber_under16 = Math.GetRandomNumber(16)
random_multiple_of_50_under_800 = RandomNumber_under16*50
TextWindow.WriteLine(random_multiple_of_50_under_800)
所以我需要数字,0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800
您可以通过将 [0,16] 范围内的数字缩放 50 倍来构建这些数字。
给定Math.GetRandomNumber
函数的定义
Math.GetRandomNumber(maxNumber)
获取一个介于 1 和指定的 maxNumber (含)之间的随机数。
参数
maxNumber:请求的随机值的最大数量.
返回
小于或等于指定最大值的随机数。
您的解决方案必须考虑返回的随机整数从 1 开始的事实,而您需要在列表中包含 0.
下一个代码片段产生所需的结果:
For i = 1 To 20
TextWindow.WriteLine((Math.GetRandomNumber(17) - 1) * 50)
EndFor
' Math.GetRandomNumber(17) -> [1,17]
' Math.GetRandomNumber(17) - 1 -> [0,16]
' (Math.GetRandomNumber(17) - 1) * 50 -> {0,50,100,150, ... ,800}